計劃的細節:程序會顯示這將有4個選項結構,功能和數組
- 新生入學
- 編輯學生詳細
- 更新細節
- 顯示所有學生 的列表菜單
如果登記超過45,它應該給出消息。應該使用結構和功能。用於註冊,編輯和更新的單獨功能依然如此。我從我寫的代碼中得到了問題。我對如何使用帶有功能的結構感到困惑。我不知道我是對還是錯。如何在這種情況下使用指針?
我更新的代碼,但仍然給怪異的輸出,當我們在這個代碼中存儲多個數據時如何使用指針函數數據數據[45]。
#include <iostream>
#include <cctype>
#include <cstring>
using namespace std;
struct Date{
int day;
int month;
int year;
};
struct Data{
int id;
char firstName[20];
char lastName[20];
float PrimaryMarks;
float secondaryMarks;
Date date;
};
void enrollment(Data *dtai){
static int i=0;
if(i<45){
dtai->id=i+1;
cout<<"Enter the student's First Name"<<endl;
cin>>dtai->firstName;
cout<<"Enter the student's Last Name"<<endl;
cin>>dtai->lastName;
cout<<"Enter the student's Primary School Percentage"<<endl;
cin>>dtai->PrimaryMarks;
cout<<"Enter the student's Secondary School Percentage"<<endl;
cin>>dtai->secondaryMarks;
cout<<"Enter the day of enrollment"<<endl;
cin>>dtai->date.day;
cout<<"Enter the month of enrollment"<<endl;
cin>>dtai->date.month;
cout<<"Enter the year of enrollment"<<endl;
cin>>dtai->date.year;
}
i++;
}
int main(){
//taking students information menu display
Data data[45];
//int i=0;
int option;
char sentinal;
do{
int x=0;
//display menu
cout<<"Press 1 for New Enrollment"<<endl;
cout<<"Press 2 for editing student's detail"<<endl;
cout<<"Press 3 for updating student's detail"<<endl;
cout<<"Press 4 to see list of students"<<endl;
cin>>option;
switch(option){
case 1:
enrollment(&data[x]);
break;
case 2:
case 4:
}
cout<<"Press m to go to the menu again ";
cin>>sentinal;
}while(sentinal=='m');
return 0;
}
- 請告訴我如何使用結構與多個數據的功能。
我剛纔寫我的第一個選項招生其餘代碼剩下的,請回答事先我上面的問題,謝謝
至少你的代碼[compiles fine](http://ideone.com/8UYH9z)。你有什麼具體的問題,你的預期輸入和輸出是什麼,如果他們工作或沒有? –
程序正在運行,但我已經聲明瞭數據數據[45];全球範圍內,這是否正確?我在函數中使用的靜態變量是正確的?如何鏈接2個結構日期和數據?我做錯了 – user3100177
你需要一本更好的教科書或參考書。大多數高質量的書籍討論功能並將參數傳遞給功能並進行修改。 –