2013-04-04 5 views
1

Je suis nouveau en C++, j'ai un petit projet, Je devrais obtenir 10 numéros de l'utilisateur, puis montrer dans le résultat.ajouter une variable entière à la variable char en C++

J'ai donc écrit ce code:

#include<stdio.h> 
int main() { 
    int counter=1, 
     allNumbers; 
    float score; 
    while(counter <= 10) { 
     scanf("%f",&score); 
     counter++; 
    } 

    printf("Your entered numbers are : %s\n",allNumber); 
} 

par exemple utilisateur, entrez 2 3 80 50 ... et je veux montrer 2,3,80,50, ... en résultat.

Mais je ne sais pas ce que je devrais faire!

+3

ressemble à C à moi. Êtes-vous sûr d'utiliser C++? Recherchez "tableau C" ou "vecteur C++" sur Google. – Dave

+0

@Dave Oui, j'essaie d'apprendre le C++ et c'est un examen de base pour le premier chapitre. – MajAfy

+0

@MajAfy Quel livre lisez-vous? –

Répondre

4

Je ne sais pas quel livre vous utilisez, mais les auteurs semblent vous enseigner C avant d'entrer dans le pays C++. Sans discuter de leurs motivations, je vais écrire une réponse pour être similaire à votre style de code avant de discuter d'une solution C++ idéale.

  • Vous avez besoin d'un tableau pour stocker vos numéros: double score[10]
  • tableau sont indexés à partir de zéro, changer counter pour commencer à zéro et aller à neuf (au lieu de partir de l'un et aller à dix, comme vous maintenant)
  • Depuis score est un tableau, utilisez &score[count] dans l'appel de scanf
  • Pour imprimer dix chiffres que vous avez besoin d'une boucle ainsi. Vous avez besoin d'un drapeau qui vous indique si vous avez besoin ou non d'une virgule après le numéro que vous imprimez. Ajoutez un printf("\n") après la boucle.

En ce qui concerne une solution « idéale » C++ va, il faut regarder près de celui-ci:

istream_iterator<double> eos; 
istream_iterator<double> iit(cin); 
vector<double> score; 
copy(iit, eos, back_inserter(score)); 
ostream_iterator<double> oit (cout, ", "); 
copy(score.begin(), score.end(), oit); 

Cependant, discuter resterait difficile jusqu'à ce que vous étudiez la bibliothèque standard C++ et son utilisation de itérateurs.

+0

Je pense que le demandeur va être un peu choqué par la façon dont ce code est très différent. : D –

+0

Merci, mais ce code est professionnel et je ne peux pas analyser pour mon professeur, mais votre description était bonne, merci – MajAfy

+0

Eh bien, il vient à temps. Ce n'est pas si important de savoir au début, mais c'est vraiment bien de garder un souvenir et de revenir à quand vous connaissez la langue et que vous avez étudié les itérateurs. – chris

0

Vous pouvez le faire en déclarant un tableau de dix nombres. votre code va ici:

#include <stdio.h> 
int main() { 
int counter=0; 
float allNumbers[10]; 
while(counter < 10) { 
    scanf("%f",&allNumbers[counter]); 
    counter++; 
     } 

printf("Your entered numbers are : \n"); 
counter=0; 
while(counter < 10) { 
    printf("%f , ",allNumbers[counter]); 
    counter++; 
     } 
} 
Questions connexes