Thread obsoleto Aiuto con un programma in c!

Mauro1

Nuovo utente
Autore del topic
27 Gennaio 2012
2
0
Miglior risposta
0
Salve a tutti! sono nuovo del forum e ho iniziato da poco a programmare.
Ho provato a fare un esercizio ma non funziona e speravo che qualcuno potesse darmi una mano.
L'esercizio è : Dato un elenco di nomi con le rispettive città, conta quanti sono quelli di milano.
io ho scritto il programma così :
#include <stdio.h>
#include <stdlib.h>
int main(){
char a[15];
int i = 0;
char milano[20];
int n;
printf("Inserisci il nome dell'utente ");
scanf("%s", &n);
while ( n != 0) {
printf("Inserisci la citta' dell'utente ");
scanf("%s", &a);
if (a == milano)
i++;
printf("scegliere 0 per terminare il programma ");
scanf("%d", &n);
}
printf("Il numero degli abitanti a milano e' %d\n", i);
system("pause");
}

Quando termino inviando 0 dopo aver messo la città anche se ho scelto milano mi da che ci sono 0 abitanti... qualcuno sa dirmi qual'è il problema ? grazie in anticipo!
 
Riferimento: Aiuto con un programma in c!

ho sostituito if(strcmp(a, milano)==0) alla mia if : if (a == milano)
ma mi sa errore nella compilazione...
 
Riferimento: Aiuto con un programma in c!

Non hai rispettato la consegna. La consegna ti chiede di creare un elenco di alcune città e trovare quanti "Milano" ci sono all'interno dell'elenco, tu invece hai fatto tutt'altro ( sbagliato anche ) quindi ti ho riscritto il programma :

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Riguardo la consegna invece io farei così :

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Da quello che hai scritto tu sembra che conosci poco del C, ti conviene studiarlo meglio.
 
Riferimento: Aiuto con un programma in c!

Studia prima di buttare istruzioni a caso....

Codice completamente sbagliato! Cosa ti chiede precisamente l'esercizio?

Se devi acquisire un intero lo specificatore di formato è %d quindi quest'istruzione:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
... diventa ...
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Comunque questo è solo un minimo errore, in confronto a tutti gli altri.
Vuoi aquisire un nome quindi una stringa ed usi una variabile di tipo intero? :|

Studia l'acquisizione in C e le le basi!
 
Riferimento: Aiuto con un programma in c!

[OT]
Studia prima di buttare istruzioni a caso....Studia l'acquisizione in C e le le basi!
Calma. Così non fai altro che abbattere la voglia che può avere di studiare il C, che non è facile per tutti all'inizio. Non puoi avere un approcio più amichevole dove gli spieghi l'errore e gli linki qualcosa, scritto bene, dove può studiare?[/OT]
 
Riferimento: Aiuto con un programma in c!

[OT]Calma. Così non fai altro che abbattere la voglia che può avere di studiare il C, che non è facile per tutti all'inizio. Non puoi avere un approcio più amichevole dove gli spieghi l'errore e gli linki qualcosa, scritto bene, dove può studiare?[/OT]

Non potrei essere più d'accordo..il C essendo un linguaggio procedurale può essere incomprensibile all'inizio, specialmente se studiato da autodidatta. Più che altro conviene studiarlo su un buon testo dato che i PDF online o siti come html.it sono imprecisi e non chiariscono bene, argomenti come le liste. @Mauro1, ti consiglio anche per esperienza personale, di comprarti un buon testo; i migliori, secondo me sono il "C Corso completo di programmazione" di Harvey M. Deitel e Paul J. Deitel che costa intorno ai 30-40€ o il libro creato dagli inventori stessi del linguaggio C: "Linguaggio C" Dennis M. Ritchie e Brian Kernighan.

Il primo dei due libri è molto molto esaustivo e fornisce tutte le spiegazioni necessarie e lo consiglio per chi è ad un primo approccio nei confronti di un linguaggio informatico. Le pagine sono circa 700.
Il secondo è sempre un ottimo testo, ma è meno esaustivo. Fornisce una buona base comunque. Le pagine sono 300 circa.

Buona programmazione^^

P.s. nel caso tu non lo abbia già fatto prima di procedere con un linguaggio è bene conoscere un pò come è fatto un computer, ovvero studiare la parte hardware.