|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
[C] Aiutino per semplice esercizio che non viene
Ciao,
a laboratorio di programmazione ci è stato dato da fare questo semplice esercizio: scrivere un programma che usi la funzione getchar, che legga dei caratteri sulla shell di linux e che conti quanti caratteri, quate parole e quante righe sono state inserite. Dove la aprte sul numero dei caratteri funziona ma la parte sulle parole (incrmenta la var parole ogni carattere spazio che viene inserito) e la parte sulle righe (incrementa la variabile righe ogni volta che si preme invio) non funziona..dà 2 warning in fase di compilazione e quando lo vado ad eseguire questi due valori stanno sempre a 0....per favore potete aiutarmi a risolvere...la logica dovrebbe essere giusta...probabilmente sbaglio qualcosa nel contornto nelle due if Codice:
#include <stdio.h>
int main(){
int caratteri = 0;
int parole = 0;
int righe = 0;
int corrente;
corrente = getchar(); // Leggi il primo carattere dalla tastiera
while(corrente != EOF){
caratteri ++; // Incrementq il numero di caratteri letti
if(corrente == " ")
parole ++; // Ad ogni spazio incrementa il numero delle parole scritte
if(corrente == "\n") // Ad ogni invio incrementa il numero di righe
righe ++;
corrente = getchar(); // Leggi un nuovo carattere dalla tastiera
}
printf("\nSono stati letti: %d caratteri dalla tastiera\n", caratteri);
printf("\nIl numero di parole corrisponde a: %d\n", parole);
printf("\nIl numero di righe corrisponde a: %d\n\n", righe);
return 0;
}
Andrea |
|
|
|
|
|
#2 | ||
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Quote:
I caratteri singoli si scrivono tra apici semplici, quindi i confronti vanno fatti con ' ' e '\n' rispettivamente.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
||
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
Quote:
quindi se io faccio int variabile; // dichiaro una variabile int variabile = 'a'; // metto il valore numerico associato al carattere a in variabile? Ancora grazie Andrea |
|
|
|
|
|
|
#4 | |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:27.



















