Programma c++ usando lo switch

di Anonimizzato9567 il
9 risposte
Sto provando a creare un programma che mi aiuti a capire a fondo lo switch in c++
è diviso in 5 punti
1- legga una sequenza di numeri interi positivi
2- calcoli quanti sono gli elementi pari nella sequenza
3- calcoli quanti sono gli elementi dispari
3- quanti sono i nulli
5- stabilisca il numero delle occorrenze di un determinato paramento k nella sequenza (questo punto ancora non so come si faccia)


ci ho già provato ma non mi funziona
#include<iostream>
using namespace std;
int main()
{
    int a,k,contp,contd,contk,contn,r;
    contn=0;
    contp=0;
    contd=0;
    contk=0;
    cout<<"inserire a"<<endl;
    cin>> a;
    cout<<"inserire k"<<endl;
    cin>> k;
    while(a!=-1)
    switch(a,k)
    {
                case 1:
                     if(a==0) 
                     contn=contn+1;
                     
                case 2:
                     if(a==k) 
                     contk=contk+1;
                    
                
                case 3:
                     r=a%2;
                     if(r==0) 
                     contp=contp+1;
                case 4:
                     r=a%2;
                     if(r!=0) 
                     contd=contd+1;
                cout<<"inserire a"<<endl;
                cin>> a;
                }
    cout<<"i numeri nulli presenti sono"<<contn<<endl;
    cout<<"i numeri pari presenti sono"<<contp<<endl;
    cout<<"i numeri dispari presenti sono"<<contd<<endl;
    cout<<"i numeri uguali a k presenti sono"<<contk<<endl;
    system("pause");
    return 0;

9 Risposte

  • Ragazzi possibile che vi viene così dificile da spiegare anche qual'è l'errore. Ogni volta bisogna andare per tentativi.
    
    switch(a,k)
    
    sto switch non esiste. Puoi fare lo switch solo di una varibile e basta.
  • No ma non ha mica capito cos'è uno switch...
  • Perdonatemi ma sto appena imparando

    comunque ora ho sistemato un pò
    #include<iostream>
    using namespace std;
    int main()
    {
        int a,n,k,contp,contd,contk,contn,r;
        contn=0;
        contp=0;
        contd=0;
        contk=0;
        cout<<"inserire la tua scelta da 1 a 5"<<endl;
        cin>> a;
        switch(a)
        {
    		case 1:
    			cout<<"Inserisci una sequenza di numeri interi positi"<<endl;
    			cin>>n;
    			while(n>-1)       
    			{                 
    				
    				cout<<"Inserisci -1 per uscire"<<endl; 
    				cin>>n;       
    				
    			}  
    			break;
    			
    		case 2:
    			r=n%2;
    			if(r==0) 
    				contp=contp+1;
    			cout<<"i numeri pari presenti sono "<<contp<<endl;
    			break;
    			
    			
    		case 3:
    			r=n%2;
    			if(r!=0) 
    				contd=contd+1;
    			cout<<"i numeri dispari presenti sono "<<contd<<endl;
    			break;
    			
    		case 4:
    			if(n==0) 
    				contn=contn+1;
    			cout<<"i numeri nulli presenti sono "<<contn<<endl;
    			break;
    			
    		case 5:
    			cout<<"Inserisci K:";
    			cin>>k;
    			if(n==k) 
    				contk=contk+1;
    		{
    			cout<<"i numeri uguali a k presenti sono "<<contk<<endl;
    		}
    			break;
    		    
    		
    		
    		default:
    			cout<<"Scelta non valida"<<endl;
    			break;
    			cout<<"inserire la tua scelta"<<endl;
    			cin>> a;
    	}
        
        
        
    	
        system("pause");
        return 0;
    }
    
    una volta aver scelto il numero come faccio a far ripetere lo switch finchè voglio?
  • No non guardare lo swich come un while guardalo come un if else if

    PS: Il programma non va xD devi includere windows.h per il system("pause"); e poi è fatto male. Credo che dovresti studiare ancora un pochetto e strutturare bene il programma (lo swich è impostato in maniera totalmente sbagliata)
  • E dalli la funzione system() è in stdlib.h
  • Ops uff devo imparare a usare la stdlib! uso sempre windows >.< xD
  • Ok mi potresti far vedere come si fa? con lo switch
  • Ciao, ma il programma è pieno di errori sia logici che sintattici. Per poterti aiutare dovresti venirmi incontro dicendomi qual'è lo scopo di questo programma.
Devi accedere o registrarti per scrivere nel forum
9 risposte