[제목] 학생 성적 관리 절차(첨삭개사)

29451 단어 제목.
  • 파일 이름: [작업]
  • 저자: [칠흑]
  • 설명: [금주 프로젝트: 한 그룹에 5명의 학생이 있다고 가정하면 성적표에 각 학생의 시험 성적의 순위가 기록되어 있고 성적표 프로그램을 설계하면 다음과 같은 기능이 있어야 한다. 1. 프로그램은 먼저 각 학생의 성적 순위에 기재하도록 제시한다.단계는 다음과 같다1) 동창 성명 입력 제시2) 동창 랭킹에 입력 제시(5명의 등수는 1~5사이일 수 있으니 여기에 숫자 범위 검증이 있어야 하고 문자검증도 있어야 한다)3) 상기 절차에 따라 다음 동창의 정보를 입력한다.모든 학우들의 정보를 다 기록할 때까지.2. 성적 기록 순위가 완성된 후에 프로그램은 하나의 메뉴를 제공해야 한다1) 각 학우의 순위(순위순, 순서/순서대로 모두 가능)를 인쇄한다(2) 한 학우의 정보를 삭제한다(한 학우의 정보를 삭제한 후에 뒤의 학우의 순위도 변경해야 한다).3) 한 학우의 정보 증가(다른 학우에 대한 그의 영향에 주의하면 최대 5명의 동일한 정보를 증가할 수 있다. 만약에 동적 메모리 분배를 사용하면 인원 증가를 고려하지 않는다) 3. 추가 기능 가산점(예를 들어 보관 기능을 제공하여 현재 학우의 성적과 성명 정보를 txt 형식으로 현지에 저장하는 등) 〉
  • /****************************
    *    :[  ]
    *   :〈  〉
    *   :〈	    :
    			       5   ,                     ,
    			         ,      :
    			1、                 。    
    				1)        
    				2)        (  5        1~5  ,          ,        )
    				3)                。            。
    			2、          ,          
    				1)         (      ,  /     )
    				2)         (             ,             。)
    				3)         (             ,      5     ,                      )
    			3、      (         ,              txt        )	〉
    *     :2019.6.9
    ****************************/
    #include
    #include 
    using namespace std;
    
    /*       */
    struct student
    {
    	string name;//  
    	int rank;	//  
    };
    void faultinfo();//        
    void sort(student s[], int n);	//       
    void prints(student s[], int n);//      
    void deletes(student s[], int n, int num);//      
    
    int main() {
    	int num = 0;//        
    	student students[10];//    
    	for (int i = 0; i < 5; i++) {//  5     
    		cout << "       :";
    		while (!(cin >> students[i].name)) {//    
    			faultinfo();
    		}
    		cout << "       :";
    	loop:
    		while (!(cin >> students[i].rank) || students[i].rank > 5 || students[i].rank < 1) {//    
    			faultinfo();
    		}
    		for (int j = 0; j < i; j++) {
    			if (students[i].rank == students[j].rank) {//        ,    
    				faultinfo();
    				goto loop;
    			}
    		}
    		num++;
    	}
    	sort(students, num);//  
    	while (1)
    	{
    		system("cls");//  
    		cout << "     :
    1、
    2、
    3、
    4、
    5、
    :"
    ; int choice; while (!(cin >> choice) || choice > 5 || choice < 1) {// faultinfo(); } switch (choice) { case 1:// prints(students, num); system("pause"); break; case 2:// if (num < 1) {// cout << " 。"; system("pause"); break; } int rank; prints(students, num); cout << " :"; while (!(cin >> rank) || rank > num || rank < 1) {// faultinfo(); } deletes(students, rank, num);// cout << " 。" << endl; num--; sort(students, num);// system("pause"); break; case 3:// prints(students, num); if (num >= 10) {// 10 cout << " 。"; system("pause"); break; } cout << " :"; while (!(cin >> students[num].name)) {// faultinfo(); } cout << " :"; while (!(cin >> students[num].rank) || students[num].rank > num + 1 || students[num].rank < 1) {// faultinfo(); } cout << " 。"<<endl; num++; sort(students, num);// system("pause"); break; case 4:// { ofstream fout;//ofstream fout fout.open(" .txt");// fout << " \t " << endl;// for (int i = 0; i < num; i++) {// fout << students[i].name << "\t" << students[i].rank << endl; } fout.close();// cout << " 。"; system("pause"); break; } case 5:// return 0; default: break; } } } /* */ void faultinfo() { cout << " , :"; cin.clear();// cin.ignore(1024, '
    '
    );// cin } /* */ void sort(student s[], int n) {// for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if (s[i].rank >= s[j].rank) { student temp = s[i]; s[i] = s[j]; s[j] = temp; } } } for (int i = 0; i < n; i++) {// s[i].rank = i + 1; } } /* */ void prints(student s[], int n) { for (int i = 0; i < n; i++) { cout << s[i].name << ":" << s[i].rank << endl; } } /* */ void deletes(student s[], int n, int num) { for (n; n < num; n++) { s[n - 1] = s[n]; } }

    좋은 웹페이지 즐겨찾기