Operazioni su una stringa di caratteri

di il
1 risposte

Operazioni su una stringa di caratteri

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");
	  } 

1 Risposte

  • Re: Operazioni su una stringa di caratteri

    Ti consiglierei di gestire il menù tramite interi (e anche come funzione a parte) per evitare che ci siano problemi di buffer con i caratteri.
Devi accedere o registrarti per scrivere nel forum
1 risposte