fork(1) download
  1. #include <iostream>
  2. #include <string>
  3. #include <sstream>
  4. using namespace std;
  5.  
  6. struct Student
  7. {
  8. string ID;
  9. string name;
  10. double grade;
  11. };
  12.  
  13. int main() {
  14. //ifstream inFile;
  15. istream &inFile = cin;
  16.  
  17. Student students[100];
  18. int counter = 0;
  19.  
  20. string line, netID, studentName;
  21. double grade1, grade2, grade3;
  22.  
  23. //inFile.open("Asg3Grades.txt"); //opens the file
  24.  
  25. while (getline(inFile, line)) {
  26.  
  27. istringstream iss(line);
  28.  
  29. if (iss >> netID >> studentName >> grade1 >> grade2 >> grade3) {
  30.  
  31. double average = (grade1 + grade2 + grade3) / 3;
  32.  
  33. students[counter].ID = netID;
  34. students[counter].name = studentName;
  35. students[counter].grade = average;
  36.  
  37. if (++counter == 100) break;
  38. }
  39. }
  40.  
  41. //inFile.close(); //closes the file
  42.  
  43. Student *dynamicStudents = new Student[counter];
  44.  
  45. for (int i = 0; i < counter; i++) {
  46. dynamicStudents[i] = students[i];
  47. }
  48.  
  49. for (int i = 0; i < counter; i++) {
  50. cout << dynamicStudents[i].ID << ": " << dynamicStudents[i].name << " " << dynamicStudents[i].grade << endl;
  51. }
  52.  
  53. delete[] dynamicStudents;
  54. return 0;
  55. }
Success #stdin #stdout 0s 15240KB
stdin
1 joe 10 20 30
2 jack 50 75 80
3 john 100 100 100
stdout
1: joe 20
2: jack 68.3333
3: john 100