Salve a tutti, ho un problema da risolvere , praticamente devo creare un programma che mi da la possibilità di scegliere delle operazioni da effettuare su una stringa di caratteri. Quando vado ad eseguire il programma e digito una lettera ,per esempio ' a' che corrisponde alla lettura di una stringa, il programma salta lo switch/case e non esegue nessuna operazione.
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void lettura(char A[], int MAX);
void stampa (char A[]);
main()
{
const int card=100;
char Vet[card];
char scelta,torna,carattere;
do{
printf("Quali operazioni vuoi effettuare sulla stringa ?\n\n");
printf("-se desideri inserire una nuova stringa premi: a\n");
printf("-se desideri stampare la stringa premi: b\n");
scanf("%c", &scelta);
switch(carattere){
case 'a': lettura(Vet,card); break;
case 'b': stampa(Vet); break;
}
printf("-Per uscire dal programma premi invio\n\n");
scanf("%c",&torna);
}
while (torna!='\n');
system("Pause");
}
void lettura (char A[], int MAX){
int i;
char c;
printf("inserisci stringa\n");
i=0;
while((c=getchar())!='\n' && i<MAX){
A[i]=c;
i++; }
A[i]='\0';
}
void stampa(char A[]){
int i=0;
while(A[i]!='\0'){
printf("%c", A[i]);
i++;
}
printf("\n");
}