當前位置:首頁 » 操作系統 » 學生問答源碼

學生問答源碼

發布時間: 2022-04-21 09:57:39

A. 學生管理系統c語言源代碼幫我看看這程序出問題了

調了一下,沒啥大問題啊?

struct stu_type {

char num[15];

char name[10];

int age;

int xibie;

xibie定義為int,scanf和printf里用的是%s,改成%d就不報錯了。

另外case 2: display((char*)""); break; 這一行原來的過不了,強制轉換一下過了

B. 如何去閱讀並學習一些優秀的開源框架的源碼

對於開發者來說,社區里豐富的開源代碼其實是筆極為寶貴的財富。如果能充分利用好開放源代碼的資源,不僅可以掌握多種編程方法,提高實踐能力,還能獲得好的思想,激發編程靈感。開源代碼怎麼學以及怎樣才能學好是大家經常關注的話題,日前,在問答網站知乎上,有人拋出了「如何更有效地學習開源項目的代碼?」的話題,眾技術好手各抒己見,CSDN軟體研發頻道對本文內容進行了整理,方便大家學習與參考。盛大創新研究院研究員 庄表偉:學習開源 盡可能在代碼里找答案 庄表偉提供了以下9個建議:1.在下載源代碼之後,首先要跑起來,編譯通過、正常運行;2.在你覺得最有可能運行到的地方,設置斷點或者拋出異常,這樣,就能夠找到一個項目在正常運行時的入口點;3.從入口點所在的那個源文件開始閱讀,逐步把握整個項目是如何啟動起來;4.隨便改點代碼,看看會不會報錯,如果報錯,會從哪裡報錯;5.試著把報錯屏蔽、修復、或者繞開;6.嘗試理解一個系統的內部結構,多少組成部分,主線模塊是哪些?輔助模塊是哪些?7.從實際需要出發,修改這個項目,滿足自己的某一個小的需求。(注意在此之前,盡量不要在網路上找答案);8.看看相關的討論與心得,是否與自己的理解相一致;9.提交bug fix或者某個新的功能代碼。在學習開源的過程中,有幾個方面會獲得大量收獲,1.架構與模式;2.開源社區常見的一些慣用法;3.相關領域的結構與演算法。總結一點:學習開源,盡可能在代碼里找答案,而不是在代碼之外找答案,那些都是二手的,而且很可能不準確。互聯網評論員 朱曉陽:從簡單做起 理論聯系實踐朱曉陽對此發表了兩點看法:首先,從簡單做起。剛開始的時候學習一些領域內基礎理論,然後找一些簡單的東西去實現,不能一開始就去找開源項目。建議大家經常動手寫一些小程序,如改進宿舍網路登錄客戶端等。積小成多,能顯著提高自己的編程能力。其次,學習的知識一定要和自己生活或工作有聯系,這樣才會有樂趣或動力。互聯網評論員孫竟:先構想一個想做的項目首先,構想一個想做的項目(比如論壇、博客、微博等);然後,思考需要什麼功能,應該怎麼去實現,盡可能包括各種細節,有必要時記錄下來;最後,去找個類似的開源應用,看看它是怎麼實現的,和你的想法有什麼差異,有什麼可以學習或需要改進的地方。互聯網草根hqman:我的5個建議:1.反復地使用軟體,熟釋軟體的組成文件和軟體功能,注意IE地址欄內的地址變化;2.打開資料庫文件或存放數據的XML文件,參照數據字典了解各個表和欄位的數據含意;如果沒有數據字典,就運行軟體輸入數據,參照所輸入的數據,了解各個表和欄位的數據含義;3.利用Visio進行反向工程,將類圖抽出來;4.研究類之間的關系,注釋各個類的屬性和方法,弄清程序的整體框架;5.另開一個項目,按照軟體開發的流程,將代碼分段復制進新的項目,進行編譯調試,關注一些實現細節,學習一些編程的技巧。在讀研究生張偉:在校學生空閑時間多參加一下比賽張偉的建議是大家在空閑時間多參加一些比賽。一個完整的項目,不管再小,只要做完了,就會有收獲。多看一些比較大的開源項目源代碼,每次看完後都會受益匪淺。從網上成熟的開源代碼里,可以學到很多的設計思想。他認為,從項目入手,以項目為驅動,可激勵自己進步。當然,是否一定需要看開源代碼,這將取決於個人的興趣和需要。畫出程序流程圖 理解程序流程思想CSDN博客專家i_like_cpp:曾在CSDN分享了《如何將源代碼學好》的博文,對此,他給出了四點建議:1. 畫出整個程序的流程圖,理解整個程序流程的思想。畫流程圖的方式更讓人很直接的理解程序的整體流程,而不會被代碼所干擾,讓程序員總體上把握整個程序;2. 對流程各節點(函數或過程)的理解,流程的每一節點是構成整個流程的不可缺少的部份;3.再把流程和流程各節點串起來理解整個程序,可能的話最好寫出讀書筆記;4. 如果想深刻的學習到源代碼的精髓所在,請寫一個相近的程序進行操練。理解了這個程序並不表明掌握了這個程序,只有在操練一個相近的程序時,才知道你到底理解了多少,掌握了多少。編後語:源代碼的學習是一個從整體到不斷細化的過程,是一個極為繁瑣的過程同時也是一個不斷認清事物本源的過程。本文總結的源代碼的學習經驗,希望對您有所幫助。那麼,CSDN的網友們,你們是如何對待開源項目源代碼的呢?

C. 數據結構方面 學生搭配問題 求源代碼

#include <string.h> #include<stdio.h> #include <time.h> #include <malloc.h> #define MAXSIZE 60 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -1 typedef int system; typedef struct QNode{ int num;

struct QNode *next; }QNode,* QueuePtr; typedef struct{ QueuePtr front; QueuePtr rear; }LinkQueue;
void sleep( clock_t wait ) {
clock_t goal;
goal = wait + clock(); while( goal > clock() ) }
void InitQ(LinkQueue &Q) {
QueuePtr p;
p=(QueuePtr)malloc(sizeof(QNode)); Q.front=p; Q.rear=p;
Q.front->next=NULL; }
void EnQueue(LinkQueue &Q,int num) {
QueuePtr p;
p=(QueuePtr)malloc(sizeof(QNode)); p->num=num; p->next=NULL; Q.rear->next=p; Q.rear=p; }
void DeQueue(LinkQueue &Q, int &num) {
QueuePtr p,q;
if(Q.front==Q.rear) printf("隊列為空"); p=Q.front->next; num=p->num;
Q.front->next=p->next; q=p->next; if(Q.rear==q)
Q.rear=Q.front; free(p); }
void printF(LinkQueue &F,int i) {
QueuePtr p; int n=1; while(n<i) {
printf("_ "); n++; }

p=F.front->next; while(F.rear!=p) {
printf("%d ",p->num); p=p->next;}
printf("%d \n",p->num); }
void printM(LinkQueue &M,int i) {
QueuePtr p; int n=1; while(n<i) {
printf("_ "); n++; }
p=M.front->next; while(M.rear!=p) {
printf("%d ",p->num); p=p->next; }
printf("%d \n",p->num); }
void main() {
int m,n,k,i,a,b; int count=0,num; QueuePtr p,q; LinkQueue F; LinkQueue M;
printf("請輸入女生數量:"); scanf("%d",&m);
printf("請輸入男生數量:"); scanf("%d",&n);
printf("請輸曲子號:"); scanf("%d",&k);
printf("請輸入要查找的男生編號:"); scanf("%d",&a);
printf("請輸入要查找的女生編號:"); scanf("%d",&b); InitQ(F); InitQ(M);
for(i=1;i<=m;i++) {
EnQueue(F,i); }
for(i=1;i<=n;i++) {
EnQueue(M,i); }

for(i=1;i<=k;i++) {
system("CLS");
printf("第%d首曲子 \n",i); printF(F,i); printM(M,i); p=F.front->next; q=M.front->next;
printf("目前跳舞的是第%d號女生和第%d號男生\n",p->num,q->num); if(p->num==a&&q->num==b) {
count++;
printf("第%d曲是要查找的男女生跳舞\n",i); }
sleep(3000); DeQueue(F,num); EnQueue(F,num); DeQueue(M,num); EnQueue(M,num); }
printf("該對男女生共跳舞%d次\n",count);

D. 研讀源碼以及學習設計模式的問題

我工作了才一年多,不知道能不能幫到你。
以下都是我的個人理解:
1、框架約束了程序員的編程方式,提高了代碼的復用性、靈活性。
2、不同領域業務的框架式不同,即沒有一個萬能的框架
3、好的框架除了第一點以外還有低侵入性,即從A框架轉移至B框架或取消框架只需修改幾個類或者幾行代碼
4、Spring框架的亮點是AOP編程,實現採用了動態生成代碼的Emit技術
5、參與了實際的項目後才會真正知道這個框架到底哪些地方不足、怎麼優化提高
6、大師們出了很多書,他們都是從實踐中總結得出一些結論。而我們是從結論再去實踐,勢必有誤差,所以還是找機會多參與項目吧

E. 求一個學生成績管理系統的C++源代碼,要有注釋的,~!以為是期末作業,老師會提問的~!

容器實現!
#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <iterator>
#include <iomanip>
using namespace std;
class student{ //構造學生類
private:
double language; //學生信息
double math;
double english;
double number;
double sumsocos;
double avesocos;
int place;
string name;

public:
student(double lenguagevalue=0,double mathvalue=0,double englishvalue=0,double numbervalue=0,double sumsocosvalue=0,double avesocos=0,int placevalue=0,string namevalue="lilei"); //構造函數
double getlanguage(){return language;}; //獲取學生信息
double getmath(){return math;};
double getenglish(){return english;};
double getnumber(){return number;};
double getsumsocos(){return sumsocos;};
double getplace(){return place;};
double getavesocos(){return avesocos;};
string getname(){return name;};
void setsumsocos(double digit){sumsocos=digit;}; //設置總成績
void setave(double digit){avesocos=digit;}; //設置平均成績
void setplace(int placevalue){place=placevalue;};
double sum(){return language+math+english;}; //計算總成績
double average(){return sum()/3;}; //計算平均成績
};
student::student(double lenguagevalue,double mathvalue,double englishvalue,double numbervalue,double sumsocosvalue,double avesocosvalue,int placevalue,string namevalue):language(lenguagevalue),math(mathvalue),english(englishvalue),number(numbervalue),sumsocos(sumsocosvalue),avesocos(avesocosvalue),place(placevalue){
name=namevalue;

};
void searchstudent(vector< student >::iterator beg,vector< student >::iterator end,double number) //查找學生
{
bool isfind=false;
for(size_t i=0;i<=number;)
{
if((*beg).getnumber()!=number)
{
beg++;
if(beg==end)
{
break;
}
}
else
{
cout<<"您查詢的學生信息為 :"<<endl;
cout<<"姓名:"<<(*beg).getname()<<" 學號:"<<(*beg).getnumber()<<" 語文:"<<(*beg).getlanguage()<<" 數學:"<<(*beg).getmath()<<" 英語:"<<(*beg).getenglish()<<endl;
isfind=true;
break;
}
}
if(isfind==false)
{
cout<<"對不起,沒有找到你需要的學生信息!"<<endl;
return;
}
};
double sumavesoco(vector<student>::iterator beg,vector<student>::iterator end){ //計算學生總成績
vector<student>::iterator begin=beg;
vector<student>::iterator ended=end;
while(begin!=ended)
{
int sum=0;
int ave=0;
sum+=(*begin).getenglish();
sum+=(*begin).getlanguage();
sum+=(*begin).getmath();
ave=sum/3;
(*begin).setsumsocos(sum);
(*begin).setave(ave);
begin++;
}
vector<student>::iterator begin1=beg;
vector<student>::iterator ended1=end;
int sumave=0;
int sumsoco=0;
int count=0;
while(begin1!=ended1)
{
sumsoco+=(*begin1).getsumsocos();
count++;
begin1++;
}
sumave=sumsoco/count;
cout<<"學生總分與平均分為:"<<endl;
while(beg!=end)
{
cout<<"姓名:"<<setw(5)<<(*beg).getname()<<"總分:"<<setw(5)<<(*beg).getsumsocos()<<"平均分:"<<setw(5)<<(*beg).getavesocos()<<endl;
beg++;
}
return sumave;
};
void place(vector<student>::iterator beg,vector<student>::iterator end){ //計算排名
vector<student> a(beg,end);
vector<student>::iterator begin=a.begin();
for(int i=0;i<a.size();i++)
{
for(int j=i+1;j<a.size();j++)
{
if(a[i].getsumsocos()<a[j].getsumsocos())
{
student astudent;
astudent=a[i];
a[i]=a[j];
a[j]=astudent;
}
}
}
cout<<"完成排名,按總分大小排名後的次序為:"<<endl;
vector<student>::iterator begin1=a.begin();
while(begin1!=a.end())
{
cout<<setw(5)<<"姓名:"<<setw(5)<<(*begin1).getname()<<setw(5)<<"學號:"<<setw(5)<<(*begin1).getnumber()<<setw(5)<<"語文:"<<setw(5)<<(*begin1).getlanguage()<<"數學:"<<setw(5)<<(*begin1).getmath()<<"英語:"<<setw(5)<<(*begin1).getenglish()<<endl;
begin1++;
}
};
void searchupstudent(vector<student>::iterator beg,vector<student>::iterator end,double avesocos){ //計算平均成績以上學生
cout<<"總成績在全班平均成績以上的學生信息為:"<<endl;
while(beg!=end)
{
if((*beg).getsumsocos()>=avesocos)
{
cout<<"姓名:"<<setw(5)<<(*beg).getname()<<"學號:"<<setw(5)<<(*beg).getnumber()<<"總分:"<<setw(5)<<(*beg).getsumsocos()<<"平均分:"<<setw(5)<<(*beg).getavesocos()<<"語文:"<<setw(5)<<(*beg).getlanguage()<<"數學:"<<setw(5)<<(*beg).getmath()<<"英語:"<<setw(5)<<(*beg).getenglish()<<endl;

}
beg++;
}
};
int main()
{
vector< student > stuarray;
loop: cout<<"********************************************************************************"<<endl
<<"1.輸入信息 2.計算總分與平均分 3.查詢學生信息 4.按總分排名 5.查詢平均分以上的學生" <<endl
<<"********************************************************************************"<<endl;
int chose=0;
cout<<"請輸入您的選擇!"<<endl;
cin.clear();
cin.sync();
cin>>chose;
if(chose<=0||chose>5)
{
cout<<"輸入錯誤,請重新輸入!"<<endl;
goto loop;
}
char ch=0;
int count=0;
double sumave;
switch(chose)
{
case 1:
{
do{
cout<<"請輸入學生信息!"<<endl;
double lan,math,english,number,socos,avesocos,place;
string name,sex;
cout<<"語文:";
cin>>lan;
cout<<endl<<"數學:";
cin>>math;
cout<<endl<<"英語:";
cin>>english;
cout<<endl<<"學號:";
cin>>number;
cin.sync();
cout<<endl<<"姓名:";
getline(cin,name);
cout<<endl;
student* astudent=new student(lan,math,english,number,socos=0,avesocos=0,place=0,name);
stuarray.push_back(*astudent);
cout<<"是否繼續輸入?"<<endl;
cin.clear();
cin.sync();
cin>>ch;
}while(tolower(ch)=='y');
cout<<endl;
goto loop;
}
case 2:
{
vector<student>::iterator beg=stuarray.begin();
vector<student>::iterator end=stuarray.end();

sumave=sumavesoco(beg,end);
cout<<"全班平均分為:"<<sumave<<endl;
goto loop;
}

case 3:
{ cout<<"請輸入需要查詢的學生學號!"<<endl;
int number2=0;
cin>>number2;
searchstudent(stuarray.begin(),stuarray.end(),number2);
goto loop;
}

case 4:
{

vector<student>::iterator beg=stuarray.begin();
vector<student>::iterator end=stuarray.end();
place(beg,end);
goto loop;
}
case 5:
{
vector<student>::iterator beg=stuarray.begin();
vector<student>::iterator end=stuarray.end();
searchupstudent(beg,end,sumave);
goto loop;
}
}
return 0;
}

F. c++ 編寫一個源代碼

#include <iostream.h>
#include <string.h>
class Person
{
public:
Person(char *s)
{
name=new char[strlen(s)+1];
strcpy(name,s);
}
void Print()
{ cout<<"姓名: "<<name<<endl; }
protected:
char *name;
};
class Student
{
public:
Student(char *r,char *s,char *t)
{
name=new char[strlen(r)+1];
grad=new char[strlen(s)+1];
StuNo=new char[strlen(t)+1];
strcpy(name,r);
strcpy(grad,s);
strcpy(StuNo,t);
}
void Print()
{
cout<<"姓名: "<<name<<endl;
cout<<"班級: "<<grad<<endl;
cout<<"學號: "<<StuNo<<endl;
}
void classing()
{
cout<<"我在上課"<<endl;
}
protected:
char *name;
char *grad;
char *StuNo;
};
class Teacher
{
public:
Teacher(char *s,char *t)
{
TecNo=new char[strlen(s)+1];
Pay=new char[strlen(t)+1];
strcpy(TecNo,s);
strcpy(Pay,t);
}
void Print()
{
cout<<"工號: "<<TecNo<<endl;
cout<<"工資: "<<Pay<<endl;
}
void teaching()
{
cout<<"我在授課"<<endl;
}
protected:
char *TecNo;
char *Pay;
};
class Assistant:public Student,public Teacher
{
public:
Assistant(char *p,char *q,char *r,char *s,char *t):Student(p,q,r),Teacher(s,t)
{

}
void Print()
{
Student::Print();
Teacher::Print();
}
};
void main()
{
Student stu("馬寧","06班","1001");
Teacher tea("0001","10000");
Assistant assistant1("劉力","07班","1002","0002","8000");
stu.Print();
tea.Print();
assistant1.Print();
stu.classing();
tea.teaching();
assistant1.classing();
assistant1.teaching();
}

G. 我正在做學生管理系統(C++),但是存在很多問題,希望大神給我改一下源代碼,要多少分給多少,急急急!!

發來看看。[email protected]

H. C程序課程設計題目:小學生計算機輔助教學系統。 詳情如下,望各位高手幫忙給出源代碼!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int a,b,op,term;
int x,i=0;
int counter = 0; /*初始答對題數為0*/
char opchar;
srand(time(NULL)); /*為函數rand()設置隨機數種子*/
a= rand()%10+1;
b= rand()%10+1;
for(i= 0;i < 10;i++)
{
a= rand()%10+1;
b= rand()%10+1;
op=rand()%4+1;
switch(op) /*根據運算符號不同進行不同的運算*/
{
case1:opchar='+';
term=a+ b;
break;
case2: opchar='-';
term=a - b;
break;
case3: opchar='*';
term=a*
b;

break;

case
4:

opchar='/';

term=a/b;

break;

default:

printf("Wrong
operator!");

}

printf("%d%c%d=",a,opchar,b);

scanf("%d",&x);

if(x==term)

{

printf("Right!\n");

counter++;

}

else

printf("Wrong!\n");

}

printf("Total
score is %d\n",counter*10);

printf("Rate
of correctness is %d%%\n",counter*10);

}

I. 求網站源碼 在線答題系統 答題完畢顯示答案

估計按照你的要求很難找到。找人進行二次開發,或從新做一套也不是難事。

J. C語言 學生信息管理系統 來個大神幫我看看源代碼那裡有問題

這位兄台,問題蠻多的,真的要一一列舉嗎:

  1. 入口執行代碼main函數沒有要執行的東西呀?

  2. 知道int 是什麼意思嗎?就是一個數,范圍:-4294967296 ~4294967296,號碼就是一個數,所以不需要數組啦,比如你定義的int idcardnumber[20];那是20個范圍在-4294967296 ~4294967296的數。

  3. scanf讀數據要用取地址符號&。

  4. 你要用student 結構定義變數不需要每次都寫一次定義,只要在開頭給這個定義起個名字就好了:typedef struct student{} Student;以後要定義變數時就這樣 Student s;

  5. if語句、定義函數要用{}要包含代碼。

    先解決這些問題吧……

熱點內容
廚房需要配置什麼噴淋頭 發布:2024-11-16 20:39:02 瀏覽:297
酒瓶解壓 發布:2024-11-16 20:29:20 瀏覽:729
視頻怎樣上傳到手機 發布:2024-11-16 20:26:30 瀏覽:258
怎麼把ppt文件壓縮 發布:2024-11-16 20:22:30 瀏覽:685
linux大內存 發布:2024-11-16 20:22:28 瀏覽:950
屏蔽迅雷上傳 發布:2024-11-16 19:49:17 瀏覽:599
java怎麼定義方法 發布:2024-11-16 19:48:15 瀏覽:144
我的世界國際版為什麼連接不到伺服器 發布:2024-11-16 19:44:18 瀏覽:854
購物導航源碼 發布:2024-11-16 19:35:48 瀏覽:145
打賬號密碼是什麼 發布:2024-11-16 19:26:07 瀏覽:290