Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Print String with Space in it

Tags:

c++

When i try to output the string it doesnt output the text after the space. It should ask for student name and then output it when asked. This is C++. I have no more info to give but the site wont let me post it so this sentence is here.

/***************************************************/
/* Author:     Sam LaManna                         */
/* Course:     CSC 135 Lisa Frye                   */
/* Assignment: Program 4 Grade Average             */
/* Due Date:   10/10/11                            */
/* Filename:   program4.cpp                        */
/* Purpose:    Write a program that will process   */
/*             students are their grades. It will  */
/*             also read in 10 test scores and     */
/*             compute their average               */
/***************************************************/

#include <iostream>     //Basic input/output
#include <iomanip>      //Manipulators

using namespace std;

string studname ();     //Function declaration for getting students name

int main()
{
  string studentname = "a";     //Define Var for storing students name

  studentname = studname ();    //Store value from function for students name

  cout << "\n" << "Student name is: " <<studentname << "\n" << "\n";     //String output test

  return 0;
}

/***************************************************/
/* Name: studname                                  */
/* Description: Get student's first and last name  */
/* Paramerters: N/A                                */
/* Return Value: studname                          */
/***************************************************/

string studname()
{
  string studname = "default";


  cout << "Please enther the students name: ";
  cin >> studname;

  return studname;
}
like image 963
Sam LaManna Avatar asked Dec 10 '22 04:12

Sam LaManna


1 Answers

You should use the getline() function, not the simple cin, for cin only gets the string before white space.

istream& getline ( istream& is, string& str, char delim ); 

istream& getline ( istream& is, string& str );

Extracts characters from is and stores them into str until a delimiter character is found.

The delimiter character is delim for the first function version, and '\n' (newline character) for the second. The extraction also stops if the end of file is reached in is or if some other error occurs during the input operation.

If the delimiter is found, it is extracted and discarded, i.e. it is not stored and the next input operation will begin after it.

like image 119
Crazy Bear Avatar answered Dec 28 '22 01:12

Crazy Bear