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

    [Dev C++]Problema con ciclo while

    Innanzitutto un saluto a tutti, mi sono appena iscritto al forum...penso che darò un bel po' di fastidio nei giorni a venire , mi scuso sin da ora.

    Ho appena installato Dev C++ sul pc (con windows vista, ma con un po' di modifiche pare non mi dia problemi), ho fatto un programmino cretino di prova, preso da un libro ma mi da un problema che non riesco proprio a capire da dove arrivi, il codice è questo:

    #include <stdio.h>

    void main()
    {
    int Contatore;
    char Memorizzazione[10];

    Contatore =0;
    while (Contatore < 10)
    {
    printf("Inserire un carattere: ");
    scanf("%c",&Memorizzazione[Contatore]);
    Contatore=Contatore+1;
    }
    printf("I caratteri forniti in ingresso, riscritti in ordine inverso, sono i seguenti: \n");
    Contatore= Contatore-1;
    while (Contatore >=0)
    {
    printf("%c\n", Memorizzazione[Contatore]);
    Contatore=Contatore-1;
    }
    system("PAUSE");
    return 0;
    }

    Il problema è che in fase di input il programma mi prende il carattere una volta si e una no, in pratica su schermo ho questo:

    Inserire un carattere: Inserire un carattere: a
    Inserire un carattere: Inserire un carattere: a
    Inserire un carattere: Inserire un carattere: a
    Inserire un carattere: Inserire un carattere: a
    Inserire un carattere: I caratteri forniti in ingresso, riscritti in ordine inverso, sono i seguenti:

    a

    a

    a

    a

    a
    Premere un tasto per continuare...


    Perchè??

  2. #2
    sto studiando anche io il c++ ultimamente

    ho provato a fare il programma che hai postato... e ho risolto così ^^

    codice:
    #include <iostream>
    
    #define _NUM_CHARS 10
    
    using namespace std;
    
    int main ()
    {
    	int i = 0;
    	char carattere[_NUM_CHARS];
    	
    	while ( i < _NUM_CHARS )
    	{
    		cout << "Inserisci un carattere: ";
    		cin >> carattere[i];
    		i++;
    	}
    	
    	cout << "\n\nCaratteri inseriti con successo.. caricamento.";
    	
    	while ( i > -1 )
    	{
    		cout << carattere[i];
    		i--;	
    	}
    	
    	cout << "\n\nLista processata con successo\n";
    	
    	return (0);
    }

  3. #3
    Ti ringrazio per il test, il problema è che non essendo ancora pratico con le altre librerie non conosco le funzioni che hai usato tu.
    Quello che mi chiedo io è se è normale che con un codice del genere il ciclo while abbia quell'anomalia, quindi se è una cosa che succede solo a me o no.
    E' che non riesco proprio a capire che ragionamento segua il compilatore per farmi saltare un input su 2!

  4. #4
    Ah comunque sto usando il Dev in ambiente C, non C++!

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.