switch

Status
Niet open voor verdere reacties.

chivado1

Gebruiker
Lid geworden
3 feb 2012
Berichten
69
Kan het kloppen dat als ik een geneste switch heb(met verschillende variabelen),
dat ik niet om dezelfde antwoorden kan vragen?
 
Laatst bewerkt:
Je zult "geneste" bedoelen. En natuurlijk kan dat, maar als je het goed in elkaar steekt zou dat niet nodig moeten zijn.
Om er echt iets zinnigs over te kunnen zeggen moet je dat stuk van je code hier plaatsen.
 
Laatst bewerkt:
Bedankt voor de reactie
De laatste regel scanf is voor me zelf zodat de doswindow niet direct sluit.
De dingen in het rood met "// Rood hier" zijn de foutmeldingen en ze klagen allemaal dat ze reeds voorkomen in de switch.
[cpp]
// hulp programma chris.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>


void main()
{
int getal1, getal2;
char invoer1 , invoer2;
printf("\n lees getal 1 in: ");
scanf("%i", &getal1);
printf("\n lees getal 2 in: ");
scanf("%i", &getal2);
printf("\n Wat wilt u weten? ");
printf(" \n Druk 1 voor de Hexadecimale, octale en decimale waarde van %i ", getal1);
printf(" \n Druk 2 voor bitgewijze berwerkingen naar keuze van %i en %1 ", getal1, getal2);
printf(" \n Druk 3 voor weergave van naar keuze van het 1-complement en en 2-complemet van %i ", getal1);
printf(" \n Druk 4 voor weergave van alle bitgewijze bewerkingen en hun 1 en 2 complement. \n");
invoer1 = getchar();
switch(invoer1)
{
case '1':
{
printf("\n De Hexadecimale waarde van %i word : %x ", getal1, getal1);
printf("\n De octale waarde van %i word : %o ", getal1, getal1);
printf("\n De decimale waarde van %i word : %i ", getal1, getal1);
break;
}
case'2':
{
printf(" \nWelke bewerking wilt u hebben\n? ");
printf(" \nDruk 1 voor een AND bewerking\n");
printf(" \nDruk 2 voor een OR bewerking\n");
printf(" \nDruk 3 voor een XOR bewerking\n");
invoer2 = getchar();
switch(invoer2)
case '1':
printf("\n Bitgewijze AND bewerking van %i AND %i word: %i ", getal1, getal2, getal1&getal2);
break;
case '2': // Hier rood
printf("\n Bitgewijze OR bewerking van %i OR %i word: %i ", getal1, getal2, getal1|getal2);
break;
case '3':
printf("\n Bitgewijze XOR bewerking van %i XOR %i word: %i\n ", getal1, getal2, getal1^getal2);
break;
default:
printf(" Deze knop word werd niet gevraagd \n ");
break;
break;
}
case '3': // Rood hier
{
printf(" Druk 1 voor het 1-complement van %i\n ", getal1);
printf(" Druk 2 voor het 2-complement van %i\n ", getal1);
invoer2 = getchar();
switch(invoer2)
case '1':
printf("\n Vorming van het 1 complement van %i word : %i", getal1, ~getal1);
break;

case '2': // Rood hier
printf("\n Vorming van het 2 complement van %i word : %i", getal1, ~getal1+1);
break;
default: // Rood hier
printf(" Deze knop word werd niet gevraagd \n ");
break;
break;
}
case '4':
{
printf("\n Bitgewijze AND bewerking van %i AND %i word: %i ", getal1, getal2, getal1&getal2);
printf("\n Bitgewijze OR bewerking van %i OR %i word: %i ", getal1, getal2, getal1|getal2);
printf("\n Bitgewijze XOR bewerking van %i XOR %i word: %i\n ", getal1, getal2, getal1^getal2);
printf("\n Vorming van het 1 coplement van %i word : %i", getal1, ~getal1);
printf("\n Vorming van het 2 coplement van %i word : %i", getal1, ~getal1+1);
break;
}
default: // Rood hier
printf(" Deze knop word werd niet gevraagd \n ");
break;

}
scanf("%i", getal1); /* invoer tegen sluiten van dorbox*/
}
[/cpp]
 
Laatst bewerkt door een moderator:
In de eerste "case'2':" mis je een spatie, daardoor kan de rest ontregeld raken.
Maak er eens "case '2':" van.
 
Je bent de accolades vergeten bij de switch'es binnen de buitenste switch.
Dus
[cpp]case'2':
{
printf(" \nWelke bewerking wilt u hebben\n? ");
printf(" \nDruk 1 voor een AND bewerking\n");
printf(" \nDruk 2 voor een OR bewerking\n");
printf(" \nDruk 3 voor een XOR bewerking\n");
invoer2 = getchar();
switch(invoer2)
{
case '1':
printf("\n Bitgewijze AND bewerking van %i AND %i word: %i ", getal1, getal2, getal1&getal2);
break;
case '2': // Hier rood
printf("\n Bitgewijze OR bewerking van %i OR %i word: %i ", getal1, getal2, getal1|getal2);
break;
case '3':
printf("\n Bitgewijze XOR bewerking van %i XOR %i word: %i\n ", getal1, getal2, getal1^getal2);
break;
default:
printf(" Deze knop word werd niet gevraagd \n ");
break;
}
break;
}[/cpp]

Hetzelfde bij de andere switch'es.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan