Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    C++:Problema controllo primo e ultimo carattere vettore di stringhe

    codice:
    /*
    Programma n:4 anno 2015/16
    Author:Valerio D'Agnano
    classe:III LS/D
    Algoritmo:Caricare un vettore[n] stringa di nomi che iniziano con la e finiscono con la o e contarne le lettere
    */
    #include <iostream>
    #include <cstring>
    #include <stdio.h>
    #include <cstdio>
    using namespace std;
    main(void){
    int n,nnomi,i,contcar;
    cout<<"Dammi n:";
    cin>>n;
    char vettore[n];
    string nome;
    for(i=0;i<n;i++){
    cout<<"Inserisci nome:";
    cin>>vettore[i];
    if(vettore[0]=='A' && vettore[strlen(vettore)-1]=='o'){
    contcar=strlen(vettore);
    cout<<"Numeri caratteri:"<<contcar<<endl;}
    else
    cout<<"Il nome non inizia per A o non finsice per o";
    break;
    }
    return 0;
    }

    Il rpoblema sta nel fatto che anche se inserisco un nome che inizia per a e finisce per o, lui mi fa uscire ugualmente, questo perchè c'è qualcosa di sbagliato nel controllo, e non riesco a capire cosa
    Ultima modifica di LeleFT; 01-10-2015 a 15:43 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Io cambierei il codice così

    codice:
    #include <iostream>
    #include <string>
    
    
    using namespace std;
    
    
    int main(void)
    {
    	int n,i,contcar;
    	cout<<"Dammi n:";
    	cin>>n;
    	
    	string vettore[100];
    
    
    	for(i=0;i<n;i++)
    	{
    		cout<<"Inserisci nome:";
    		cin>>vettore[i];
    		
    		if(vettore[i][0]=='A' && vettore[i][vettore[i].length()-1]=='o')
    		{
    			contcar=vettore[i].length();
    			cout<<"Numeri caratteri:"<<contcar<<endl;
    		}
    		else
    			cout<<"Il nome non inizia per A o non finsice per o";
    		break;
    	}
    
    
    	return 0;
    }
    Devi solo controllare quel break per capire se è al posto giusto o no
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie mille grazie per avermi chiarito la mente ahahahah ora però c'è solo un piccolo problema, n doveva il numero di nomi che dovevo immettere, invece con il tuo codice inserendo n riesco ad inserirne solo 1.

  4. #4
    Ok, ho fatto, mi è bastato mettere il break tra parentesi dell'else.Grazie mille.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Infatti ti avevo detto di controllare il break...


    Nella riga dove ho messo [100] devi mettere [n]
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.