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

    [C] usare il do while per eseguire un programma

    salve dovrei usare il Do while per permettere di ripetere un programma fino a quando non premo il tasto Y (continua) N (termina) qualsiasi altro carattere riformula la domanda



    questo e il programma


    #include "stdafx.h"
    void main ()
    {
    int a,b,x;
    char c;
    do
    {
    printf ("Inserire il valore di A \n");
    scanf ("%d",&a);
    printf ("Inserire il valore di B \n");
    scanf ("%d",&b);
    printf ("Inserire il valore di X \n");
    scanf ("%d",&x);
    if ( x >=a && x <= b)
    {
    printf ("X e incluso tra A e B\n");
    }
    else
    {
    printf ("X non e incliso in A e B\n");
    }
    printf ("Se vuoi continuare Y/N\n ");
    scanf ("%c\n",&c);

    }
    while(c!="Y" );

    }

    mi da un errore , perche rileva Y del while come vvariabile e non come carattere oltre a questo non riformula la domanda in caso di carattere errato




    grazie 1000

  2. #2

    Re: [C] usare il do while per eseguire un programma

    codice:
    ...
      while(c!="Y" );
    I doppi apici si utilizzano per le stringhe per i singoli caratteri si usano gli apici singoli

    codice:
    ...
      while(c!='Y' );
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3

    Re:

    [Scusate ho sbagliato ho premuto Nuovo in vece di risposta]


    http://forum.html.it/forum/showthrea...1#post10946121


    mmm vediamo allora grazie x la dritta ora in parte funziona , entra nel ciclo la prima volta , chiede la domanda se premo N esce dal ciclo me ntre se uso Y mi riscrive tutte le Printf di (A-B-X) senza poter accedere alle scanf e mi ritorna alla domanda Vuoi continuare Y\N ??????? come mai ?????

    #include "stdafx.h"


    void main ()
    {
    int a,b,x;
    char c;
    do
    {

    printf ("Inserire il valore di A \n");
    scanf ("%d",&a);
    printf ("Inserire il valore di B \n");
    scanf ("%d",&b);
    printf ("Inserire il valore di X \n");
    scanf ("%d",&x);
    if ( x >=a && x <= b)
    {
    printf ("X e incluso tra A e B\n");
    }
    else
    {
    printf ("X non e incliso in A e B\n");
    }
    printf ("Se vuoi continuare Y/N\n ");
    scanf ("%c\n",&c);

    }
    while(c != 'Y' );

    }
    http://forum.html.it/forum/showthrea...1#post10946121

  4. #4
    scusate ho sbagliato ho creato nuovo topic invece di rispondere se un mod e cosi cortese da cancellare il topic intitolaro Re:


    sorry



    questa era la mia ultima risposta


    http://forum.html.it/forum/showthrea...readid=1163256

  5. #5

    Re: Re:

    Ho apportato le modifiche che ho ritenuto necessarie...
    codice:
    #include "stdafx.h"
    
    int main (void)
    {
    	int a,b,x;
    	char c;
    	do
    	{
    
    		printf ("Inserire il valore di A \n");
    		scanf ("%d",&a);
    		printf ("Inserire il valore di B \n");
    		scanf ("%d",&b);
    		printf ("Inserire il valore di X \n");
    		scanf ("%d",&x);
    		if ( x >=a && x <= b)
    		{
    			printf ("X e incluso tra A e B\n");
    		}
    		else
    		{
    			printf ("X non e incluso in A e B\n");
    		}
    
    		// Svuoto il buffer di input...
    		while( getchar() !='\n');
    
    		printf ("Vuoi continuare [Y/N]\n");
    		scanf ("%c", &c); // Nella scanf() non puoi mettere il '\n'
    	}
    	while( c=='y' || c=='Y' ); // Devi tener conto anche del upper or lower case...
    	return 0;
    }
    Se qualcosa non ti è chiaro chiedi pure.


    Originariamente inviato da Alessio86
    [Scusate ho sbagliato ho premuto Nuovo in vece di risposta]...
    Tranquillo ci penserà Alka
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  6. #6
    il fatto che riguardava il \n non lo sapevo , una sola cosa non mi e chiara a cosa serve il return 0 in questo caso ? non era + comodo usare il void main() invece che dover avere un int main (void)



    P.S.(grazie 1000 per la dritta)

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,461
    void main

    non e' standard

    E' piu' corretto usare

    int main

    e restituire 0 se tutto e' ok

  8. #8
    ok questo me lo segno

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 © 2024 vBulletin Solutions, Inc. All rights reserved.