TORNARE AL PUNTO DI PARTENZA

di il
6 risposte

TORNARE AL PUNTO DI PARTENZA

NON RIESCO A TORNARE AL PUNTO DI PARTENZA DURANTE L'ESECUZIONE DEL PROGRAMMA.QUESTO è UN PEZZO DEL MIO CODICE:

int _tmain(int argc, _TCHAR* argv[])
{
int porta=0;
int v1,v2; //valori degli ingresssi
int risultato = 0;
int cont=0,controllo;

do{
cont=0;
system("cls");

#--> VEDI SOTTO

printf("AND=1, OR=2, NOT=3, NAND=4, NOR=5, XOR=6, XNOR=7");
printf("\n\n\nScegli una porta logica: ");
scanf("%d",&porta);

getchar();
system("cls");

switch(porta)
{
case 1:
printf("\n\nHai scelto la porta AND\n\n ");
printf("\n\nSe hai sbagliato premi 0 per tornare indietro\n\n (premi invio)");
scanf("%d",&controllo);

if(controllo==0)
return (BOOOO);

SE SBAGLIASSI A SCEGLIERE LA PORTA LOGICA NON SAPREI COME RITORNARE AL PUNTO DOVE C'è IL CANCELLETTO (#)


PER FAVORE AIUTATEMI

GRAZIE IN ANTICIPO

6 Risposte

  • Re: TORNARE AL PUNTO DI PARTENZA

    1. NON URLARE
    2. Metti i code tags
    3. Usa un do-while
    4. Il tuo codice non è compilabile. Metti quello completo.
  • Re: TORNARE AL PUNTO DI PARTENZA

    Scusa ma mi ero dimenticato il tasto BLOC MAIUSC....
    però non so cosa siano i code tags.
    Comunque questo è tutto il codice:
    
    #include "stdafx.h"
    #include <stdlib.h>
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int porta=0;
    	int v1,v2;    //valori degli ingresssi
    	int risultato = 0;
    	int cont=0;
    
    	do{
    		cont=0;
    	    system("cls");
    
    	printf("AND=1, OR=2, NOT=3, NAND=4, NOR=5, XOR=6, XNOR=7");
    	printf("\n\n\nScegli una porta logica: ");
    	scanf("%d",&porta);
    
    	getchar();
    	system("cls");
    	
    	switch(porta)
    	{
    	case 1:
    		printf("\n\nHai scelto la porta AND\n\n (premi invio) ");
    		
    		getchar();
    		system("cls");
    
    		printf("\n\nI valori devono essere 0 o 1\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nInserisci il Primo valore: ");
    		scanf("%d",&v1);
    
    		printf("\n\nInserisci il Secondo valore: ");
    		scanf("%d",&v2);
    
    		getchar();
    		system("cls");
    
    		risultato = v1*v2;
    
    		printf("\n\nIl valore dell'uscita e':  %d",risultato);
    
    		getchar();
    		system("cls");
    
    		break;
    	
    	case 2:
    		printf("\n\nHai scelto la porta OR\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nI valori devono essere 0 o 1\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nInserisci il Primo valore: ");
    		scanf("%d",&v1);
    
    		printf("\n\nInserisci il Secondo valore: ");
    		scanf("%d",&v2);
    
    		getchar();
    		system("cls");
    
    		risultato = v1+v2;
    		if(risultato==2)
    			risultato=1;
    
    		printf("\n\nIl valore dell'uscita e':  %d",risultato);
    
    		getchar();
    		system("cls");
    
    		break;
    
    	case 3:
    		printf("\n\nHai scelto la porta NOT\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nI valori devono essere 0 o 1\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nInserisci il valore: ");
    		scanf("%d",&v1);
    
    		getchar();
    		system("cls");
    
    		if(v1==1)
    			risultato=0;
    		else
    			risultato=1;
    
    		printf("\n\nIl valore dell'uscita e':  %d",risultato);
    
    		getchar();
    		system("cls");
    
    		break;
    
    	case 4:
    
    		printf("\n\nHai scelto la porta NAND\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nI valori devono essere 0 o 1\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nInserisci il Primo valore: ");
    		scanf("%d",&v1);
    
    		printf("\n\nInserisci il Secondo valore: ");
    		scanf("%d",&v2);
    
    		getchar();
    		system("cls");
    
    		risultato= v1*v2;
    		if(risultato==1)
    			risultato=0;
    		else
    			risultato=1;
    
    		printf("\n\nIl valore dell'uscita e':  %d",risultato);
    
    		getchar();
    		system("cls");
    
    		break;
    
    	case 5:
    
    		printf("\n\nHai scelto la porta NOR\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nI valori devono essere 0 o 1\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nInserisci il Primo valore: ");
    		scanf("%d",&v1);
    
    		printf("\n\nInserisci il Secondo valore: ");
    		scanf("%d",&v2);
    
    		getchar();
    		system("cls");
    
    		risultato= v1+v2;
    		if(risultato==0)
    			risultato=1;
    		else
    			risultato=0;
    
    		printf("\n\nIl valore dell'uscita e':  %d",risultato);
    
    		getchar();
    		system("cls");
    
    		break;
    
    	case 6:
    
    		printf("\n\nHai scelto la porta XOR\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nI valori devono essere 0 o 1\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nInserisci il Primo valore: ");
    		scanf("%d",&v1);
    
    		printf("\n\nInserisci il Secondo valore: ");
    		scanf("%d",&v2);
    
    		getchar();
    		system("cls");
    
    		if(v1==1 && v2==0 || v1==0 && v2==1)
    			risultato=1;
    		else
    			risultato=0;
    
    		printf("\n\nIl valore dell'uscita e':  %d",risultato);
    
    		getchar();
    		system("cls");
    
    		break;
    
    	case 7:
    
    		printf("\n\nHai scelto la porta XNOR\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nI valori devono essere 0 o 1\n\n (premi invio)");
    
    		getchar();
    		system("cls");
    
    		printf("\n\nInserisci il Primo valore: ");
    		scanf("%d",&v1);
    
    		printf("\n\nInserisci il Secondo valore: ");
    		scanf("%d",&v2);
    
    		getchar();
    		system("cls");
    
    		if(v1==1 && v2==0 || v1==0 && v2==1)
    			risultato=0;
    		else
    			risultato=1;
    
    		printf("\n\nIl valore dell'uscita e':  %d",risultato);
    
    		getchar();
    		system("cls");
    
    		break;
    	}
    	
    	printf("\n\n\nVUOI CONTINUARE?\n\n(se si premi 1 altrimenti premi 0)\n\n");
    		scanf("%d",&cont);
    
    		if (cont==0)
    			return 0;
    
    		while(cont!=1 && cont!=0){
    		if(cont!=1 && cont!=0)
    			printf("\n\ndevi premere 1 o 0\n\n");
    			scanf("%d",&cont);
    		}
    
    	}while(cont==1);
    
    	
    	fflush(stdin);
    	getchar();
    	return 0;
    }
  • Re: TORNARE AL PUNTO DI PARTENZA

     
    do
    {
       printf("AND=1, OR=2, NOT=3, NAND=4, NOR=5, XOR=6, XNOR=7");
       printf("\n\n\nScegli una porta logica: ");
       scanf("%d",&porta);
    }while(porta < 1 || porta > 7);
  • Re: TORNARE AL PUNTO DI PARTENZA

    Non è quello che ho chiesto....però grazie comunque per il ciclo,perché li mi serve .
    Io intendevo che:
    quando,dopo aver scelto la porta logica, il programma ti dice "Hai scelto la porta..."
    in questo punto, io che leggo il messaggio dico:" cavolo ho sbagliato pota logica"
    e allora vorrei fare un qualcosa che mi chieda:" se hai sbagliato porta logica premi 1 per tornare indietro". io premo 1 e mi fa scegliere di nuovo la porta logica
  • Re: TORNARE AL PUNTO DI PARTENZA

    Basta farlo. Segui l'indicazione do-while e applicalo al tuo caso. Sei sicuro? SI/NO. Se NO non esce dal while.
  • Re: TORNARE AL PUNTO DI PARTENZA

    Ok grazie mille
Devi accedere o registrarti per scrivere nel forum
6 risposte