Ciao a tutti ho aperto questa discussione per la versione 0.2 della mia calcolatrice, in questa versione ho deciso che l'utente puo decidere tra quanti numeri fare le operazione.
SOURCE:
codice:
#include <stdio.h>
#define PER_ARRAY 50
int main () {
int quante;
int partenza;
int numeri[PER_ARRAY];
char operatore[PER_ARRAY];
char *puntatore_operatore;
puntatore_operatore = operatore;
printf("Calcolatrice V0.2 \n");
printf("Tra quante cifre vuoi fare l'operazione?\n");
while (quante >= 2) { //devono essere almeno 2
scanf("%d", &quante);
}
for (partenza = 0; partenza < quante; partenza++) {
printf("Numero numero %d: \n", partenza );
scanf( "%d", &numeri[partenza]);
if (partenza == quante)
break;
printf("Decidi il simbolo per il tipo di operazione: + - * / \n");
scanf(" %c",&operatore[partenza]);
}
return 0;
}
per prima cosa:
codice:
#define PER_ARRAY 50
definirla tramite costante e fare questo:
codice:
int numeri[50];
char operatore[50];
non è la stessa indentica cosa?
codice:
while (quante >= 2) { //devono essere almeno 2
scanf("%d", &quante);
}
Con questo ciclo while dovrebbe dire al programma che finche non è maggiore di due deve richiederti di inserire il numero.
però ovviamente mi blocca il programma. ( ogni volta che provo a fare una cosa nuova mi succede cosi).
EDIT: la parte del while l'ho risolta.
ho usato < al posto di >= errore di distrazione li.
codice:
for (partenza = 0; partenza < quante; partenza++) {
printf("Numero numero %d: \n", partenza );
scanf( "%d", &numeri[partenza]);
if (partenza < quante)
break;
printf("Decidi il simbolo per il tipo di operazione: + - * / \n");
scanf(" %c",&operatore[partenza]);
}
Invece qui dovrebbe darmi come output:
Running…
Calcolatrice V0.2
Tra quante cifre vuoi fare l'operazione?
3
Numero numero 0:
1
Decidi il simbolo per il tipo di operazione: + - * /
+
Numero numero 1:
1
Decidi il simbolo per il tipo di operazione: + - * /
+
Numero numero 2:
1
Decidi il simbolo per il tipo di operazione: + - * /
+
ma dovrebbe essere:
Running…
Calcolatrice V0.2
Tra quante cifre vuoi fare l'operazione?
3
Numero numero 0:
1
Decidi il simbolo per il tipo di operazione: + - * /
+
Numero numero 1:
1
Decidi il simbolo per il tipo di operazione: + - * /
+
Numero numero 2:
1
senza questa finale:
Decidi il simbolo per il tipo di operazione: + - * /
+
però non capisco perche break non lavora come dovrebbe.
Scusate ma sono ancora un newbie e probabilmente queste cose potrebbero essere elementari per tutti voi, mentre io ho seri problemi a risolverle
Grazie per l'attenzione