① 又一個c語言問題(更急)
#include <stdio.h>
#include <ctype.h>
#include <math.h>
int hextodec(char *a,int num) /*將十六進制數變為十進制*/
{ int i=0,j,cout=0; /*用法:輸入字元和個數得到結果*/
for (j=0;j<num;j++)
{
if (isdigit(a[j]))
i=i*16+(a[j]-'0');
else
{
toupper(a[j]);
i=i*16+(a[j]-'A'+10);
}
}
return i;
}
void main()
{
char a[18];
int i,type,id,year,month,day,hour,minute,second,fee; /*和英文意思一樣*/
clrscr();
printf("Please enter your fee message code\n");
scanf("%s",a); /*輸入*/
type=hextodec(&a[0],2);
id=hextodec(&a[2],4);
year=hextodec(&a[6],2);
month=hextodec(&a[8],2);
day=hextodec(&a[10],2);
hour=hextodec(&a[12],2);
minute=hextodec(&a[14],2);
second=hextodec(&a[16],2);
if (type==1) fee=100;
if (type==2) fee=200;
if (type==3) fee=200;
if (type==4) fee=500;
if (type==5) fee=100;
clrscr();
printf("type :%d\n",type);
printf("id :%d\n",id);
if (year>=10)
printf("date :20%d-%d-%d %d:%d:%d\n",year,month,day,hour,minute,second);
else
printf("date :200%d-%d-%d %d:%d:%d\n",year,month,day,hour,minute,second);
printf("fee :%d",fee);
getch();
}
② C語言:車輛交通違章管理程序
一個一模一樣的,我COPY過來,勿怪...實在是一樣
//注釋刪除掉 以及 中文用不了之外
其他是一樣的,那邊也是要求C語言編,的確一樣.
//VC++6.0下調試通過
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include <time.h>
typedef enum {s_park=1, s_speed, s_signal, s_other} SheetType;
typedef enum {f_id, f_car, f_driver, f_police} FindType;
typedef struct Sheet
{
signed long id;//罰單號
char carNo[20];//車牌號
char driver[20];//司機名
char police[20];//警察編號
SheetType type;//罰單類型
tm time;//出單日期
}Sheet;
typedef struct Node
{
Sheet data;
Node* next;
}Node;
static Node* begin=NULL;//哨兵結點
static signed long len=0;//鏈表長度
void printMenu();//列印菜單
void printBye();//列印退出界面
void printList(Node* bg);//列印所有罰單信息
void printNode(Sheet sheet);//列印單條罰單
Node* lookupSheet(void* pInfo, signed short* n,
FindType type=f_id);//根據類型查詢罰單。成功返回結點。失敗NULL
int addNode(Node* bg, Sheet sheet);//添加罰單。成功返回鏈表長度。內存分配失敗0
int deleteNode(signed short stid);//根據罰單號刪除罰單。
int total(char* driver, tm date1, tm date2, signed short* icar,
signed short* ispeed, signed short* isignal, signed short* iother);//統計
int getListlen(Node* bg);
void freeList(Node* bg);//釋放鏈表
void main()
{
//初始化鏈表。
begin=(Node*)malloc(sizeof(Node));
begin->next=NULL;
printf("----------------------------------------------------------------------------\n");
printf("--- 《交通罰單管理系統》 ---\n");
printf("--- 沙支誇依 2007-12-24 ---\n");
printf("----------------------------------------------------------------------------\n");
printf("||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\n");
printMenu();
while (1)
{
fflush(stdin);
char cmd=getchar();
Sheet sheet;
memset(&sheet, 0, sizeof(Sheet));
switch (cmd)
{
case '1':
printf("---添加交通處罰單信息。(車牌號為 0 結束)\n");
while (1)
{
printf("請輸入違章車輛號: ");
fflush(stdin);
gets(sheet.carNo);
if (!strcmp(sheet.carNo,"0"))
break;
printf("請輸入違章司機姓名: ");
fflush(stdin);
gets(sheet.driver);
printf("請輸入開單交警編號: ");
fflush(stdin);
gets(sheet.police);
printf("請選擇違章類型(1-違章停車 2-超速 3-不按信號燈行使 4-其它):");
scanf("%d", &sheet.type);
printf("請輸入開單日期(例 2007-12-24): ");
scanf("%d-%d-%d", &sheet.time.tm_year, &sheet.time.tm_mon, &sheet.time.tm_mday);
int succ=addNode(begin, sheet);
if (!succ)
{
printf("內存錯誤!請重新輸入!\n");
}
else
printf("添加成功!當前記錄�?%d\n", len);
printf("\n");
}
printMenu();
break;
case '2':
printf("---刪除交通處罰單信息。(罰單號為 0 結束)\n");
while (1)
{
signed short stid=0;
printf("請輸入要刪除的罰單號:");
scanf("%d", &stid);
if (!stid)
break;
Node* delNode=lookupSheet(&stid, NULL);
if (!delNode)
printf("對不起!你要刪除的記錄不存在。\n");
else
{
printNode(delNode->data);
printf("您確定要刪除這條記錄嗎?(任意鍵刪除/ n 取消)\n");
fflush(stdin);
char cDelete=getchar();
if ('n'==cDelete)
continue;
printf("刪除成功!剩餘記錄數: %d\n",deleteNode(stid));
}
printf("\n");
}
printMenu();
break;
case '3':
printf("---查詢交通處罰單信息。(輸入 0 結束)\n");
while (1)
{
printf("請選擇查詢類型: 1-車輛號 2-司機 3-交警 4-退出\n>>>");
Node* findNode=NULL;
int findtype=0;
scanf("%d", &findtype);
if (4==findtype)
break;
char findInfo[20];
signed short findcout=0;
switch (findtype)
{
case 1:
printf("請輸入車輛號: ");
fflush(stdin);
gets(findInfo);
findNode=lookupSheet(findInfo, &findcout, f_car);
if (getListlen(findNode)>=5)
{
printf("---該車輛違章超過5次。建議重罰。\n");
}
break;
case 2:
printf("請輸入司機姓名: ");
fflush(stdin);
gets(findInfo);
findNode=lookupSheet(findInfo, &findcout, f_driver);
if (getListlen(findNode)>=5)
{
printf("---該司機違章超過5次。建議重罰。\n");
}
break;
case 3:
default:
printf("請輸入交警編號: ");
fflush(stdin);
gets(findInfo);
findNode=lookupSheet(findInfo, &findcout, f_police);
}
if (!findNode)
printf("對不起!你要查詢的記錄不存在。\n");
else
{
printList(findNode);
freeList(findNode);
}
printf("\n");
}
printMenu();
break;
case '4':
printf("---統計司機處罰單信息。(輸入 0 結束)\n");
while (1)
{
printf("請輸入司機姓名: ");
char driver[20];
fflush(stdin);
gets(driver);
if (!strcmp(driver, "0"))
break;
printf("請輸入起始日期(如 2007-12-24): ");
tm date1;
memset(&date1, 0, sizeof(tm));
scanf("%d-%d-%d", &date1.tm_year, &date1.tm_mon, &date1.tm_mday);
printf("請輸入終止日期(如 2007-12-24): ");
tm date2;
memset(&date2, 0, sizeof(tm));
scanf("%d-%d-%d", &date2.tm_year, &date2.tm_mon, &date2.tm_mday);
signed short car, speed, signal, other;
int sum=total(driver, date1, date2, &car, &speed, &signal, &other);
printf("司機姓名:%-10s 違章停車:%2d 超速:%2d 不按信號燈行使:%2d 其它:%2d 共計:%2d\n",
driver, car, speed, signal, other, car+speed+signal+other);
printf("\n");
}
printMenu();
break;
case '5':
printList(begin);
printMenu();
break;
case '6':
printf("---修改交通處罰單信息。(輸入 0 結束)\n");
while (1)
{
signed short stid=0;
printf("請輸入要修改的交通處罰單號:");
fflush(stdin);
scanf("%d", &stid);
if (!stid)
break;
Node* updataNode=lookupSheet(&stid, NULL);
if (!updataNode)
printf("對不起!你要修改的記錄不存在。\n");
else
{
printNode(updataNode->data);
memset(&sheet, 0, sizeof(Sheet));
sheet.id=stid;
printf("請修改違章車輛號: ");
fflush(stdin);
gets(sheet.carNo);
printf("請修改違章司機姓名: ");
fflush(stdin);
gets(sheet.driver);
printf("請修改開單交警編號: ");
fflush(stdin);
gets(sheet.police);
printf("請修改違章類型(1-違章停車 2-超速 3-不按信號燈行使 4-其它):");
scanf("%d", &sheet.type);
printf("請修改開單日期(例 2007-12-24): ");
scanf("%d-%d-%d", &sheet.time.tm_year, &sheet.time.tm_mon, &sheet.time.tm_mday);
updataNode->data=sheet;
printNode(updataNode->data);
}
printf("\n");
}
printMenu();
break;
case '7':
printBye();
freeList(begin);
exit(0);
break;
default:
printMenu();
}
}
}
void printMenu()
{
printf("----------------------------------------------------------------------------\n");
printf("--- 1、添加交通處罰單信息。 2、刪除交通處罰單信息。 ---\n");
printf("--- 3、查詢交通處罰單信息。 4、統計司機處罰單信息。 ---\n");
printf("--- 5、瀏覽交通處罰單信息。 6、修改交通處罰單信息。 ---\n");
printf("--- 7、退出。 ---\n");
printf("----------------------------------------------------------------------------\n");
printf(">>>");
}
void printBye()
{
printf("----------------------------------------------------------------------------\n");
printf(" 感謝您使用交通罰單管理系統 \n");
printf(" 再 見 \n");
printf("----------------------------------------------------------------------------\n");
}
void printNode(Sheet sheet)
{
char* type=NULL;
switch (sheet.type)
{
case s_park:
type="違章停車";
break;
case s_speed:
type="超速";
break;
case s_signal:
type="不按信號燈行使";
break;
case s_other:
default:
type="其它";
}
printf("罰單號:%-6d 車牌號:%-10s 司機名:%-10s 交警名:%-10s\n"
"罰單類型:%-15s 開單日期:%d-%d-%d\n",
sheet.id, sheet.carNo, sheet.driver, sheet.police,
type, sheet.time.tm_year, sheet.time.tm_mon, sheet.time.tm_mday);
printf("--------------------------------------------------------------------------\n");
}
void printList(Node* bg)
{
Node* temp=bg->next;
if (!temp)
{
printf("暫時無記錄可供瀏覽!\n");
}
while (temp)
{
printNode(temp->data);
temp=temp->next;
}
}
Node* lookupSheet(void* pInfo, signed short* n, FindType type)
{
Node* result=NULL;
if (type)
{
result=(Node*)malloc(sizeof(Node));
result->next=NULL;
*n=0;
}
Node* temp=begin->next;
switch (type)
{
case f_id:
while (temp)
{
if (temp->data.id==*(signed long*)pInfo)
{
if (n)
*n=1;
return temp;
}
temp=temp->next;
}
break;
case f_car:
while (temp)
{
if (!strcmp(temp->data.carNo,(char*)pInfo))
{
addNode(result, temp->data);
(*n)++;
}
temp=temp->next;
}
break;
case f_driver:
while (temp)
{
if (!strcmp(temp->data.driver,(char*)pInfo))
{
addNode(result, temp->data);
(*n)++;
}
temp=temp->next;
}
break;
case f_police:
while (temp)
{
if (!strcmp(temp->data.police,(char*)pInfo))
{
addNode(result, temp->data);
(*n)++;
}
temp=temp->next;
}
break;
}
return result;
}
int addNode(Node* bg, Sheet sheet)
{
Node* temp=(Node*)malloc(sizeof(Node));
if (!temp)
return 0;
if (bg==begin)
{
if (bg->next)
{
sheet.id=bg->next->data.id+1;
}
else
sheet.id=1;
}
temp->data=sheet;
temp->next=bg->next;
bg->next=temp;
return ++len;
}
int deleteNode(signed short stid)
{
Node* temp=begin;
Node* pos=NULL;
while (temp->next)
{
if (temp->next->data.id==stid)
{
pos=temp->next;
temp->next=pos->next;
free(pos);
return --len;
}
temp=temp->next;
}
return -1;
}
int getListlen(Node* bg)
{
Node* temp=bg;
int i=0;
while (temp->next)
{
i++;
temp=temp->next;
}
return i;
}
void freeList(Node* bg)
{
Node* temp=NULL;
while (bg)
{
temp=bg->next;
free(bg);
bg=temp;
}
}
int total(char* driver, tm date1, tm date2, signed short* icar,
signed short* ispeed, signed short* isignal, signed short* iother)
{
signed short result=0;
*icar=0;
*ispeed=0;
*isignal=0;
*iother=0;
Node* findNode=lookupSheet(driver, &result, f_driver);
if (!findNode)
{
free(findNode);
return 0;
}
time_t o,n,nw;
date1.tm_year-=1900;
date2.tm_year-=1900;
o=mktime(&date1);
n=mktime(&date2);
if (o<n)
{
time_t tp=o;
o=n;
n=tp;
}
Node* temp=findNode->next;
while (temp)
{
tm t=temp->data.time;
t.tm_year-=1900;
nw=mktime(&t);
if (nw>o||nw<n)
{
temp=temp->next;
continue;
}
switch (temp->data.type)
{
case 1:
(*icar)++;
break;
case 2:
(*ispeed)++;
break;
case 3:
(*isignal)++;
break;
case 4:
default:
(*iother)++;
}
temp=temp->next;
}
freeList(findNode);
return result;
}
③ 如果全國計算機二級C語言考試作弊被抓了怎麼處理
一般情況下,如果只是讓監考老師抓住,並沒有跟老師發生沖突,那麼就沒什麼事。大不了就是沒考過。如果是讓巡考抓住了,可能以後你就沒有參加考試的機會了,嚴重的可能還會全校通告批評!不知道仁兄你是讓誰抓住了?
④ C語言warning如何處理
printf("%d ",&m);//這句的m之前的取地址符&刪除,這里用不到這個
⑤ C語言<車輛交通違章管理程序>
http://..com/question/28140845.html
⑥ 誰能幫我解決一下這個C語言程序啊高手請進
這個程序和你要求得很接近,可以參考
#include<iostream.h>
#include<stdio.h>
struct trafficaccident
{
int id;
char licenceplate[8];
char name[10];
char sex;
char detail[50];
char time[8];
char address[20];
};
struct trafficaccident acdnt[50]; //數組 存放學員信息
/* 下面的程序不是針對事故的,稍加更改就可以了 */
int count1=0; //學員數
void add() //添加學員信息
{ int i=0;
while(1)
{ char ch;
double avg=0, sum=0;
cout<<"請輸入學員信息:"<<endl;
cout<<"編號:";
cin>>stu[i].id;
cout<<"姓名:";
cin>>stu[i].name;
cout<<"性別(F:female M:male):";
cin>>stu[i].sex;
cout<<"成績:";
for(int j=0;j<3;j++)
{
cin>>stu[i].score[j];
sum+=stu[i].score[j];
}
avg=sum/3;
stu[i].average=avg;
count1++;
cout<<"是否要繼續(Y繼續,N否):" ;
cin>>ch;
if(ch=='Y')
i++;
if(ch=='N')
break;
}
}
void show() //顯示學員信息
{
int i;
cout<<"學員信息為:"<<endl;
for(i=0;i<count1;i++)
{
cout<<"編號: "<<stu[i].id<<" 姓名:"<< stu[i].name<<" 性別:"<<stu[i].sex<<" 成績: ";
for(int j=0;j<3;j++)
cout<<stu[i].score[j]<<" ";
cout<<"平均成績:"<<stu[i].average;
cout<<endl;
}
}
void sort() //排序(冒泡排序法)
{ int i,j;
int t;
for(i=count1-1;i>0;i--)
for(j=0;j<i;j++)
if(stu[j].average<stu[j+1].average)
{
t=stu[j].average;stu[j].average=stu[j+1].average;stu[j].average=t;
}
}
void insert()
{
cout<<"請輸入要插入的信息:";
double avg=0, sum=0;
cout<<"編號:";
cin>>stu[count1].id;
cout<<"姓名:";
cin>>stu[count1].name;
cout<<"性別(F:female M:male):";
cin>>stu[count1].sex;
cout<<"成績:";
for(int j=0;j<3;j++)
{
cin>>stu[count1].score[j];
sum+=stu[count1].score[j];
}
avg=sum/3;
stu[count1].average=avg;
count1++;
sort();
}
void del()
{
int id1,j,k;
bool flag;
cout<<"輸入要刪除的學員編碼:";
cin>>id1;
for(int i=0;i<count1;i++)
if (id1==stu[i].id)
{ k=i;flag=true;}
if(flag)
{
if(k==count1-1)
{ count1--;cout<<"刪除成功!"<<endl;}
else
{
for(j=k;j<count1-1;j++)
stu[j]=stu[j+1];
count1--;
cout<<"刪除成功!"<<endl;
}
}
else
cout<<"編碼錯誤,該學員不存在!";
}
int main()
{
int k;
cout<<"選項:0.退出 1.添加 2.顯示 3.插入 4.排序 5.刪除 \n"<<endl;
while(1)
{
cout<<"請選擇操作(以數字1-6表示):";
cin>>k;
switch(k)
{
case 0:
exit; break;
case 1:
add();
break;
case 2:
show();
break;
case 3:
insert();
break;
case 4:
sort();
break;
case 5:
del();
break;
default :
cout<<"你的輸入有問題!請重新輸入" ;
break;
}
}
getchar();getchar();
return 0;
}
⑦ c語言的異常處理
C語言沒有異常處理,C++才有。
⑧ 我想要一個車輛違章查詢系統的C語言程序,找了很多但是,代碼樹上去卻又錯誤!!
這程序不完整,每個case後面都有一個函數,你前面沒有聲明,後面沒有給出函數代碼。而且查詢系統肯定需要附帶一個車輛信息資料庫,程序需要對這些數據進行操作,顯然你沒有。如果只需要模擬,刪掉case後面那些函數應該可以運行。如果要跟真的系統一樣能查詢,要麼去認真學學c語言,要麼洗洗睡吧
⑨ C語言異常處理
bad_alloc:new分配失敗
bad_cast:dynamic_cast失敗
bad_typeid:typeif參數為空
logic_error:邏輯錯誤
ios_base::failure:IO錯誤
runtime_error:運行時錯誤
bad_exception:未知錯誤
賦值不成功可以用runtime_error,你也可以自己繼承一個異常類過來,自定義異常信息