Anteprima
Vedrai una selezione di 1 pagina su 3
-Programmazione - Lavoro sulle stringhe 1 - C Pag. 1
1 su 3
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

/*Scrivere un programma C che legga una frase introdotta da tastiera.

La frase è terminata dall’introduzione del carattere di invio.

La frase contiene sia caratteri maiuscoli che caratteri minuscoli e complessivamente

al più 100 caratteri. Il programma dovrà stampare su schermo le seguenti informazioni:

• per ognuna delle lettere dell’alfabeto, il numero di volte che la lettera compare nella stringa

• il numero di consonanti presenti nella stringa

• il numero di vocali presenti nella stringa.*/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <conio.h>

int main ()

{ unsigned char frase[101],c,k,lettere[255][2],h=0,i,x,flag,appoggio,temp[1000];

int tracciaTemp=0;

for (k=0;k<255;k++)

{ lettere[k][1]=0;

}

k=0;

printf("inserire una frase:\n");

while (k<100 && (c=getche()) != 13)

{ if(c==8 && k==0) // se il carattere inserito e' un backspace ed e' il primo carattere...

{ continue; // richiedo l'inserimento passando alla prossima iterazione

}

else //altrimenti...

{ if(c==8) // se il carattere e' un backspace, diminuisco il contatore delle lettere, in modo che alla

prossima iterazione si sovrasciva

{ // la lettera precedentemente inserita

k--;

tracciaTemp--;

appoggio=temp[tracciaTemp];

if(lettere[appoggio][1]==1) //inoltre se l'ultima lettera inserita era la prima della sua serie, diminuisco il

contatore delle lettere diverse

{ lettere[appoggio][1]=0; //e riporto a 0 la cella contigua alla lettera cancellata, che conteneva il numero di

ripetizioni di quella lettera

}

else //altrimenti diminuisco il numero delle lettere di quel tipo

{ lettere[appoggio][1]--;

}

continue; // e passo alla prossima iterazione

}

c=tolower(c); //lavoro su lettere minuscole

frase[k]=c;

flag=0;

Dettagli
Publisher
A.A. 2013-2014
3 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher siboXD di informazioni apprese con la frequenza delle lezioni di Programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Carbonaro Antonella.