當前位置:首頁 » 編程語言 » 選擇結構c語言實驗小結
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

選擇結構c語言實驗小結

發布時間: 2022-10-06 06:02:11

① 分支選擇結構程序設計體會

對於要先做判斷再選擇的問題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。分支結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。
學習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執行的功能,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。

c語言實驗3 選擇結構程序設計

如果是作業 去看看教程 學會 條件語句 也就會做了

③ c語言綜合實驗報告 幫我弄一個

姓名 ***
**學 院 ** 專業 052 班
2007 年 11 月 24 日
實驗內容實驗五 指導老師 陳老師
一、實驗內容及要求:
編譯運行習題5-3,觀察x、y變數的值。
實現客戶機類(類名為CLIENT),其中包含的成員有:字元型靜態數據成員ServerName,用來保存伺服器名稱;整型靜態數據成員ClientNum,記錄已定義的客戶數量;靜態函數ChangeServerName(),用來改變伺服器名稱。在頭文件client.h中聲明這個類,在文件client.cpp中實現,在文件test.cpp中測試這個類,觀察相應的成員變數取值的變化情況。二、實驗目的:
1、復習類的聲明和使用、掌握對象的聲明和使用;
2、學習構造函數和析構函數的使用,觀察構造函數和析構函數的執行過程。
三、程序:
//client.h
class Client
{
public:
Client();
~Client();
static ChangeServerName(char *); //改變伺服器名稱
char * GetServerName(); //返回伺服器名稱
int GetClientNum (); //返回客戶機數量
protected:
static char ServerName[20]; //伺服器名稱
static int ClientNum; //存放伺服器數量
};
/////////////////////////////////////////////////////
//client.cpp
# include <iostream>
# include <cstring>
# include "client.h"
using namespace std;
static char *ServerName = "";
int Client::ClientNum = 0;
Client::Client()
{ClientNum ++;}

Client::~Client(){}

void Client::ChangeServerName(char * names) //改變伺服器名稱
{strcpy(ServerName,names);}

char * GetServerName() //返回伺服器名稱
{return ServerName;}

int GetClientNum () //返回伺服器數量
{return ClientNum;}
////////////////////////////////////////////////////////
//test.cpp
# include <iostream>
# include "client.cpp"
using namespace std;
void main() //用於測試的主函數
{
Client threeclient[3];
char namestr[20]; //臨時存放伺服器名稱
cout<<"定義了3個客戶"<<endl;
cout<<"請輸入新伺服器名稱:"<<endl;
cin>> namestr;
CC.ChangeServerName(namestr);
cout<<"伺服器的名稱是"<<Client::GetServerName()<<endl;
cout<<"客戶數量為"<<CC.GetClientNum ();

}

思考題:
(1)C語言有五種基本數據類型:字元、整型、單精度實型、雙精度實型和空類型。結構體可以定義自己所需特殊類型.其他類型是已經定義好,不可修改的,而結構體是根據自己的需要定義的特殊的類型.
(3)採用了循環,復合語句.

④ c語言選擇結構是怎麼樣的

C語言選擇結構也稱分支結構,就是讓程序「拐彎」,有選擇性的執行代碼;換句話說,可以跳過沒用的代碼,只執行有用的代碼。

C語言順序結構就是讓程序按照從頭到尾的順序依次執行每一條C語言代碼,不重復執行任何代碼,也不跳過任何代碼。C語言循環結構就是讓程序「殺個回馬槍」,不斷地重復執行同一段代碼。

C語言中常用的編程結構有三種(其它編程語言也是如此),它們分別是:

順序結構:代碼從前往後依次執行,沒有任何「拐彎抹角」,不跳過任何一條語句,所有的語句都會被執行到。

選擇結構:也叫分支結構。代碼會被分成多個部分,程序會根據特定條件(某個表達式的運算結果)來判斷到底執行哪一部分。

循環結構:程序會重新執行同一段代碼,直到條件不再滿足,或者遇到強行跳出語句(break 關鍵字)。

⑤ c語言程序設計實驗報告

五、 課程設計小結心得體會
1設計思想
1)、設定一個一維數組,可先按員工序號設定每位員工的工資
2)、利用While語句和Prinft語句完成用戶菜單的設計
功能為:第1項 設為員工編號和工資數據
第2項 設為修改員工工資數據
第3項 設為查詢員工工資數據
第4項 設為結束系統
3)、當用戶選擇1、2項時,需輸入員工編號,所以需要設計編號校正功能,如果出錯可輸出「The error employe number」
4)、當選擇2時,進行工資數據的修改,並將新數據存回該員工的工資數組中
5)、利用for循環中判斷語句,將用戶工資數與數組中的工資數進行比較,如相同則輸出,將計數器加1,如此下去,直到把整個數組遍歷一遍
6)、判斷計數器是否為0, 是0表示找不到相符的工資,如果不為0,則輸出共查出幾比相符的工資
以上當然裡面也涉及了「函數的模塊化」理念,可以避免但需要重復列印頭文件時重復編寫列印信頭的語句。像這樣的程序是多見的,這樣不但降低了程序還發效率,而且耗時浪費資源「共用體」的使用簡化了程序的「復雜」性,正如(4)中,學號與姓名同時表示一個人,但在函數使用了「共用體」,從而程序的簡單可以便於糾錯,查找問題,避免了代碼的重復,這樣就給編譯時帶來了一定的難度與「量」的繁雜。一般不採取這樣的做法,力求「簡單、明了、清晰」。

⑥ c語言課程的總結

1.先學習C語言的基礎知識。現在正在學C語言的在校學生可以直接進入第2步學習。
2.按照《C語言程序設計入門學習六步曲》進行上機練習。
3.在上機練習時要養成良好的編程風格。點擊查看C語言的編程風格

4.積極參加C、C++興趣小組,養成和老師與同學交流習慣,從而相互收益。有時別人不經意的一句話可能使你茅塞頓開--「一句話點醒夢中人」。

5.及時總結自己的學習經驗,養成寫C語言日記的習慣。軟體有編程日記功能。

6.從網上或教材上找一個自己感興趣的題目(選題時根據自己的能力,可先易後難,培養自己的成就感,如果有了成就感,即使再苦再累還是感覺C語言學習是一件快樂的事,同學們喜歡打游戲,經常通宵達旦地玩游戲也樂而不疲就是這個道理)進行實戰訓練,提高自己的C語言綜合應用能力。

7. 由於C語言靈活、強大,初學者要全面地掌握它是不可能的,因此在學習C語言的過程中,不要在細枝末節上浪費精力(比如++、--用於表達式的計算,實際上是沒有意義的),但一定要熟練掌握C語言的流程式控制制語句、數組、函數、指針等基礎知識的應用,為學習面向對象程序設計打下堅實的基礎。如果這些知識你學不好,要後續學習好C++、可視化的程序設計Visual C++或C++Builder就像空中樓閣,是不現實的。
C語言程序設計入門學習六步曲

筆者在從事教學的過程中,聽到同學抱怨最多的一句話是:老師,上課我也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。發生這種現象的原因有三個:

一、所謂的看懂聽明白,只是很膚淺的語法知識,而我們編寫的程序或軟體是要根據要解決問題的實際需要控製程序的流程,如果你沒有深刻地理解C語言的語句的執行過程(或流程),你怎麼會編寫程序解決這些實際問題呢?

二、用C語言編程解決實際問題,所需要的不僅僅是C語言的編程知識,還需要相關的專業知識。例如,如果你不知道長方形的面積公式,即使C語言學得再好你也編不出求長方形的面積的程序來。

三、C語言程序設計是一門實踐性很強的課程,「紙上談兵」式的光學不練是學不好C語言的。例如,大家都看過精彩自行車雜技表演,假如,你從來沒有騎過自行車,光聽教練講解相關的知識、規則、技巧,不要說上台表演、就是上路你恐怕都不行。

出現問題原因清楚了,那麼如何學習呢?請你看【C語言學習六步曲】

在程序開發的過程中,上機調試程序是一個不可缺少的重要環節。「三分編程七分調試」,說明程序調試的工作量要比編程大得多。這里以如何上機調試C程序來說明C語言的學習方法。

第一步、驗證性練習

在這一步要求按照教材上的程序實例進行原樣輸入,運行一下程序是否正確。在這一步基本掌握C語言編程軟體的使用方法(包括新建、打開、保存、關閉C程序,熟練地輸入、編輯C程序;初步記憶新學章節的知識點、養成良好的C語言編程風格)。
初學者最容易犯的錯誤是:

1、沒有區分開教材上的數字1和字母l,字母o和數字0的區別,造成變數未定義的錯誤。另一個易錯點是將英文狀態下的逗號,分號;括弧()雙引號""輸入出入成中文狀態下的逗號,分號;括弧(),雙引號「」造成非法字元錯誤。

2、C語言初學者易犯語法錯誤:使用未定義的變數、標示符(變數、常量、數組、函數等)不區分大小寫、漏掉「;」、「{」與「}」、「(」與「)」不匹、控制語句(選擇、分支、循環)的格式不正確、調用庫函數卻沒有包含相應的頭文件、調用未C聲明的自定義函數、調用函數時實參與形參不匹配、數組的邊界超界等。

3、修改C語言語法錯誤時要注意以下兩點:

(1)、由於C語言語法比較自由、靈活,因此錯誤信息定位不是特別精確。例如,當提示第10行發生錯誤時,如果在第10行沒有發現錯誤,從第10行開始往前查找錯誤並修改之。

(2)、一條語句錯誤可能會產生若干條錯誤信息只要修改了這條錯誤,其他錯誤會隨之消失。特別提示:一般情況下,第一條錯誤信息最能反映錯誤的位置和類型,所以調試程序時務必根據第一條錯誤信息進行修改,修改後,立即運行程序,如果還有很多錯誤,要一個一個地修改,即,每修改一處錯誤要運行一次程序。
第二步、照葫蘆畫瓢
在第一步輸入的C程序的基礎上進行試驗性的修改,運行一下程序看一看程序結果發生了什麼變化,分析結果變化的原因,加深新學知識點的理解。事實上這和第一步時同步進行的,實現「輸入」加深知識的記憶,「修改」加深對知識的理解。記憶和理解是相輔相成的,相互促進。

例如:將最簡單的Hello World!程序
#include "stdio.h"
int main()
{
printf("Hello World!\n");
return 0;
}
中的

printf("Hello World!\n");

中的Hello World!改成你的姓名,運行一下程序,看有什麼變化?

再如求1+2+3...+100的和的程序

#include <stdio.h>

main()

{

int i,sum=0;

for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
}

第1次將for(i=1;i<=100;i++)中的100改成50,運行一下程序,看有什麼變化?

第2次將for(i=1;i<=100;i++)中的i++改成i=i+2,運行一下程序,看有什麼變化?

找出程序結果變化的原因,就加深了對C語句的理解。

第三步、不看教材看是否能將前兩步的程序進行正確地輸入並運行。

在這一步要求不看教材,即使程序不能運行,看能否將其改正,使其能正確運行。目的是對前兩步的記憶、理解進一步強化。

第四步、增強程序的調試能力

在教材中每章都有C語言初學者易犯的錯誤,按照易出錯的類型,將教材中的正確的程序改成錯誤的程序,運行一下程序,看出現的錯誤信息提示,並記下錯誤信息,再將程序改成正確的,運行一下程序。這樣反復修改,就能夠學習C語言程序發生錯誤的原因和修改錯誤的能力。

注意:每次只改錯一個地方,目的是顯示發生該錯誤的真正原因,避免一次改動多個地方,搞清發生錯誤的真正原因,切記!!!!

注意:上機調試程序時要帶一個記錄本,記下英文錯誤提示信息和解決該錯誤問題的方法,積累程序調試經驗,避免在編程犯同樣的錯誤,切記!!!!。

例如,將Hello World程序中語句

printf("Hello World!\n");

中的;改成中文的分號;

運行一下程序,看有什麼結果?

調試程序是一種實踐性很強的事,光紙上談兵是是沒用的,就像游泳運動員只聽教練講解示範,而不親自下水練習,是永遠學不會游泳的。

即使在優秀的程序員編寫程序也會犯錯誤的,可能事最低級的語法錯誤,但他能快速發現錯誤並改正錯誤,而我們C語言初學者面對錯誤提示,不知道發生了什麼錯誤,如何改正,這就事差別。

第五步、研究典型的C語言程序,提高程序設計能力

C語言初學者遇到最多的困惑是:上課也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。發生這種現象的原因是:所謂的看懂聽明白,只是很膚淺的語法知識,而沒有深刻地理解C語言的語句的執行過程(或流程)。

計算機是按照人的指令(編寫的程序)去執行的,如果不知道這些C語句在計算機中是如何執行的,你怎麼回靈活運用這些知識去解決實際問題呢?

解決問題的方法是要先理解C語言各種語句的流程(即計算機是如何執行這些語句的過程),然後研讀現成C語言經典程序,看懂別人事如何解決問題的,以提高自己的程序設計能力。
第六步、研究課程設計源成序,提高C語言的綜合應用能力.

⑦ 通過該實驗把C語言中的幾個主要知識(如:順序結構、選擇結構、循環結構、數組、函數等)得到綜合應用。

#include <stdio.h>
#include <math.h>
#include <String.h>
#include <Bios.h>
#define ESC 27
#define ENTER 20
#define YES 'Y'
#define NO 'N'

/*********全局變數區********/
int volatile key=0,low=0; //用於鍵盤識別
char volatile search_name[5],search_flag=0; //用於尋找字元串
char volatile R=0,All=0,Error=0; //用於識別是否計算線路電阻,All用於識別是否一次計算完所有的短路點,尋找錯誤次數
char volatile Short[2]={0}; //用於記錄電路點名稱,如K1
char volatile Line_flag=0; //尋找線路位置標志
char volatile table1[20]={0}; //用於記錄串聯的位置數
char volatile table2[20]={0}; //用於記錄並聯的位置數
char volatile record[2]={0} ; //用於記錄短路點的元件存儲
char volatile found=0; //記錄已經找到的串聯,為下一個首端做標記
float volatile Kim[5]={0}; //沖擊電流系數
char volatile kim1=0; //用於沖擊電流系數數組
float volatile VH=121; //變壓器高壓側平均電壓
struct para //結構體數組,用於存儲元件參數
{char Class; // 元件類型,0-表示線路,1表示電源,2表示電抗,3表示變壓器
char name[5]; // 元件所在名稱
float paras[4]; // 元件參數
};
/**************************/

/*******函數聲明********/
char Data_process(void);
char input(char number1,char number2,struct para *data,char type);
void Data_Dir(char num1,char num2,struct para *temp,char type2);
float find_short(char *pp,unsigned int sum,char dir0,struct para *data1);
void Line_ID(char *string1,char *string2,char dir);
char find_fun(char sum2,char dir2,char or,char head[] ,struct para *data);
/**********************/

/*函數:input(數目,參數,類型)
功能;完成電力系統元件參數的輸入
返回:是否修改值
問題:結構體不能應用浮點型數據!!輸入輸出出錯,原來是編譯器的問題!!改變內核即可
*/
char input(char number1,char number2,struct para *data,char type)
{char i=0,answer=0;
switch(type)
{case 0: //第一次輸入線路參數
{ for(i=number1;i<number2;i++)
{ data[i].Class=0;
scanf("%f,%f,%f,%f,%s",&data[i].paras[0],&data[i].paras[1],&data[i].paras[2],&data[i].paras[3],data[i].name);
printf("\n");
}
if(number1!=number2)
{ printf("The Line parameters are:\n");
printf("[Name Class Legth Rate, Res,Un(KV)]\n ");
for(i=number1;i<number2;i++)
{printf("%s,%4d,%9.2f,%6.2f,%3.2f,%6.2f\n",data[i].name,data[i].Class,data[i].paras[0],data[i].paras[1],data[i].paras[2],data[i].paras[3]);
printf(" ");
}
}
} break;
case 1: //輸入電源參數
{for(i=number1;i<number2;i++)
{ data[i].Class=1;
scanf("%f,%f,%f,%f,%s",&data[i].paras[0],&data[i].paras[1],&data[i].paras[2],&data[i].paras[3],data[i].name);
printf("\n");
}
if(number1!=number2)
{ printf("\nThe Power parameters are:\n");
printf("[Name Class Capability Xd' E'' Style]\n ");
for(i=number1;i<number2;i++)
{printf("%s,%4d,%8.2f,%6.2f,%7.2f\n",data[i].name,data[i].Class,data[i].paras[0],data[i].paras[1],data[i].paras[2],data[i].paras[3]);
printf(" ");
}
}
} break;
case 2: //輸入電抗器參數
{ for(i=number1;i<number2;i++)
{data[i].Class=2;
scanf("%f,%f,%f,%f,%s",&data[i].paras[0],&data[i].paras[1],&data[i].paras[2],&data[i].paras[3],data[i].name);
printf("\n");
}
if(number1!=number2)
{ printf("\nThe Reactance parameters are:\n");
printf("[Name Class VR(KV) IR(KA) XR Un(KV)]\n ");//(名稱,位置,額定電壓,額定電流,所在平均電壓)
for(i=number1;i<number2;i++)
{printf("%s,%2d,%10.2f,%6.2f,%6.2f,%6.2f\n",data[i].name,data[i].Class,data[i].paras[0],data[i].paras[1],data[i].paras[2],data[i].paras[3]);
printf(" ");
}
}
} break;
case 3: //第一次輸入變壓器參數
{ for(i=number1;i<number2;i++)
{data[i].Class=3;
scanf("%f,%f,%f,%f,%s",&data[i].paras[0],&data[i].paras[1],&data[i].paras[2],&data[i].paras[3],data[i].name);
printf("\n");
}
if(number1!=number2)
{ printf("\nThe Transformer parameters are:\n");
printf("[Name Class Capability UH(KV) UL(KV) Uk(%)]\n ");
for(i=number1;i<number2;i++)
{printf("%s,%2d,%12.2f,%8.2f,%8.2f,%6.2f\n",data[i].name,data[i].Class,data[i].paras[0],data[i].paras[1],data[i].paras[2],data[i].paras[3]);
printf(" ");
}
}
answer=1; //完成元件的輸入
} break;
default:break;
}

printf("\nDo you sure all the parameters are right?\n");
AAA: printf("\nEnter (Y) to continue,(N) to modify,(ESC) to exit.\n");
while(bioskey(1)==0); /*檢測鍵盤是否有擊健*/
key=bioskey(0); /*讀取鍵盤輸入的掃描碼*/
low=key & 0x00ff; /*提取低8位*/
if(low==NO)
{answer=0;
printf("\nPlease input the name of the data\n");
FIND:
scanf("%s",search_name);
for(i=number1;i<number2;i++) /*尋找需要修改的線路*/
{if(strcmp(search_name,data[i].name)==0)
{search_flag=i;break;} /*找到就強制跳出循環*/
else
{search_flag=127;}
}
if(search_flag==127) /*沒有找到*/
{printf("\nInput Error! Please Check and Input again!\n");
printf("Warning:you have only ten times chances!\n");
Error++;
if(Error>10) //10次出錯
{ printf("\nTimes up! Enter anykey to exit!\n");
while(bioskey(1)==0); /*檢測鍵盤是否有擊健*/
exit(0);
Error=0;
}
else
{goto FIND;} /*繼續回去尋找*/
}

printf("Please input the new paras of the data\n");
switch(type) //修改時輸入的參數
{ case 0:{ printf("Format(Leghth(Km),Rate(@/Km),Res,Un(KV), Name)\n");

scanf("%f,%f,%f,%f,%s",&data[search_flag].paras[0],&data[search_flag].paras[1],&data[search_flag].paras[2],&data[search_flag].paras[3],data[search_flag].name);
printf("\n");

}break;
case 1:{ printf("Format(Capability(MVA),Xd',E'',Style,Name)\n");

scanf("%f,%f,%f,%f,%s",&data[search_flag].paras[0],&data[search_flag].paras[1],&data[search_flag].paras[2],&data[search_flag].paras[3],data[search_flag].name);
printf("\n");

}break;
case 2:{ printf("Format(UR(KV),IR(kA),XR(%),Un(KV),Name)\n");

scanf("%f,%f,%f,%f,%s",&data[search_flag].paras[0],&data[search_flag].paras[1],&data[search_flag].paras[2],&data[search_flag].paras[3],data[search_flag].name);
printf("\n");

}break;
case 3:{ printf("Format(Capability UH(KV),UL(KV), Uk(%),Name)\n");

scanf("%f,%f,%f,%f,%s",&data[search_flag].paras[0],&data[search_flag].paras[1],&data[search_flag].paras[2],&data[search_flag].paras[3],data[search_flag].name);
printf("\n");

}break;
default:break;
}

printf("\nThe new parameters are:\n");
switch(type)
{case 0:
{printf("The Line parameters are:\n");
printf("[Name Class Legth Rate, Res,Un(KV)]\n ");
for(i=number1;i<number2;i++)
{printf("%s,%4d,%9.2f,%5.2f,%6.2f,%6.2f\n",data[i].name,data[i].Class,data[i].paras[0],data[i].paras[1],data[i].paras[2],data[i].paras[3]);
printf(" ");
}
} break;
case 1:
{printf("The Power parameters are:\n");
printf("[Name Class Capability Xd' E'' Style]\n ");
for(i=number1;i<number2;i++)
{printf("%s,%10d,%4.2f,%6.2f,%6.2f,%6.2f\n",data[i].name,data[i].Class,data[i].paras[0],data[i].paras[1],data[i].paras[2],data[i].paras[3]);
printf(" ");
}
} break;
case 2:
{printf("The Reactance parameters are:\n");
printf("[Name Class VR(N) IR(N) XR Un(KV)]\n ");
for(i=number1;i<number2;i++)
{printf("%s,%5d,%6.2f,%6.2f,%6.2f,%6.2f\n",data[i].name,data[i].Class,data[i].paras[0],data[i].paras[1],data[i].paras[2],data[i].paras[3]);
printf(" ");
}
} break;
case 3:
{printf("The Transformer parameters are:\n");
printf("[Name Class Capability UH(KV) UL(KV) Uk(%)]\n ");
for(i=number1;i<number2;i++)
{printf("%s,%2d,%8.2f,%5.2f,%6.2f,%4.2f\n",data[i].name,data[i].Class,data[i].paras[0],data[i].paras[1],data[i].paras[2],data[i].paras[3]);
printf(" ");
}
} break;
default:break;
}
printf("\nThe paras of a component has been save!\n");
answer=1;
}
else if(low==YES)
{answer=1;}
else if(low==ESC)
{exit(0);}
else goto AAA; /*以上三個按鍵都不是就回去繼續等待*/

getch();
return(answer);
}
/***尋找與短路點串聯的線路元件***/
/**元件類型,0-表示線路,1表示電源,2表示電抗,3表示變壓器**/
printf("Short Name=");
printf("%s\n",data1[record[0]].name); //列印與短路點的第一個元件名稱 如,K1AD
printf("%s\n",data1[record[1]].name); //列印與短路點的第二個元件名稱 如,ACK1

count1=find_fun(sum2,dir0,0,data1[record[0]].name,data1);//以短路點為首端,找出順向串聯,如K1AD

/***find_fun()函數用於保存串聯的元件序號在table1[]中***/
for(i=0;i<count1;i++) //計算短路點到順向串聯的阻抗
{switch(data1[table1[i]].Class)
{case 0:{value1=data1[table1[i]].paras[0]; //0-線路,線路標么值
if(table2[i]!=0) //說明有並聯
{parallel1=data1[table2[i]].paras[0];
value1=value1*parallel1/(value1+parallel1);
}
aa=value1+aa;
}break;
case 1:{value2=data1[table1[i]].paras[0];
source=data1[table1[i]].paras[2]; //電源參數
Kim[kim1]=data1[table1[i]].paras[3];
kim1++;
bb=value2+bb;
}break; //1-電源
case 2:{value3=data1[table1[i]].paras[0]; //電抗,標么值
if(table2[i]!=0) //說明有並聯
{parallel2=data1[table2[i]].paras[0];
value1=value1*parallel2/(value1+parallel2);
}
cc=value3+cc;
}break; //2-電抗
case 3:{ value4=data1[table1[i]].paras[0]; //變壓器標么值,已經保存在paras[0]
if(table2[i]!=0) //說明有並聯
{parallel3=data1[table2[i]].paras[0];
value1=value1*parallel3/(value1+parallel3);
}
dd=dd+value4;
}break; //變壓器
default:break;
}
}
value=source/(aa+bb+cc+dd); //順向電流

printf("\nshort return value="); //錯誤原因,沒有找到電源!
printf("%5.3f\n",value);
return(value);

}

main()
{printf("===========================Welcome To Use This Program=====================\n");
printf("==============================Statement==================================\n");
printf("\n 1 You must predigest the circuit first.\n");
printf("\n 2 You must name to every node by two letter,such as 'AB'\n");
printf("\n 3 You must follow the input format.\n");
printf("\n 4 Class [Line-0,Power sourse-1,Resistance-2,Transformer-3] \n");
printf("\n Now you can use the program if you have read the staement carefully!\n");
printf("\n\n");
Data_process();
}

估計你還是學計算機的,這么簡單的問題,自己多琢磨一下吧,C語言可是很經典的東西,以上僅供參考。

⑧ 學院c語言實驗報告選擇結構程序設計

一、
scanf("%lf", x); 改為scanf("%lf", &x);

y = 1 / x 沒加分號

二、if( a + b > c || b + c > a || a + c > b)改成if( !(a + b > c || b + c > a || a + c > b) )