❶ c語言用點陣的形式在字元界面上顯示數字,有圖
❷ C語言圖形界面 怎麼輸出一個字元
如果要在DOS屏幕輸出C語言是printf,C++是cout<<ch;如果要在MFC輸出可以用彈出對話框的方式MessageBox(ch,NULL,MB_OK)C語言的圖形界面就是MFC,圖形界面上不能列印輸出,要麼以文本形式輸出到文件里保存,要麼以彈出警告框方式輸出,最常用的是彈出警告框
❸ c語言如何編寫界面程序
一、C語言中要做圖形界面,首先需要設置為圖形模式,確定顯卡類型,對屏幕進行初始化等等。
二、相關的函數如下:
1. detectgraph() 顯示卡檢測函數
2. initgraph() 圖形初始化函數
3. getdrivername() 獲取圖形驅動程序名的指針
4. getgraphmode() 獲取圖形模式函數
5. getmoderange()獲取模式值范圍函數
6. getmaxmode()獲取最大顯示模式函數
7. getmodename()獲取顯示模式名函數
8. graphdefaults()圖形設置復位預設值函數
9. setgraphmode() 設置圖形模式函數
10. restorecrtmode() 恢復文本顯示模式函數
11. graphresult() 圖形操作結果函數
12. grpaherrormsg() 圖形錯誤信息函數
13. setgraphbufsize()設置圖形緩沖區大小函數
14. setactivepage() 設置可輸出顯示頁函數
15. setvisualpage() 設置可見顯示頁數
16. closegraph()關閉圖形模式函數
❹ C語言怎麼做界面
空窗口:
#include<windows.h>
/*所有的窗口輸出到這里去*/
LRESULTCALLBACKWndProc(HWNDhwnd,UINTMessage,WPARAMwParam,LPARAMlParam){
switch(Message){
/*停止後,告訴主線程停止*/
caseWM_DESTROY:{
PostQuitMessage(0);
break;
}
/*所有其他消息(很多人)都使用默認程序處理*/
default:
returnDefWindowProc(hwnd,Message,wParam,lParam);
}
return0;
}
/*Win32GUI程序的主要功能:執行從這里開始*/
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){
WNDCLASSEXwc;/*窗口的屬性結構*/
HWNDhwnd;/*"句柄"一個窗口的標識符*/
MSGMsg;/*所有消息的臨時位置*/
/*修改結構和設置的東西*/
memset(&wc,0,sizeof(wc));
wc.cbSize =sizeof(WNDCLASSEX);
wc.lpfnWndProc =WndProc;/*將發送消息的地方*/
wc.hInstance =hInstance;
wc.hCursor =LoadCursor(NULL,IDC_ARROW);
/*白色,COLOR_WINDOW是系統定義的顏色值,其數值是5*/
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wc.lpszClassName="WindowClass";
wc.hIcon =LoadIcon(NULL,IDI_APPLICATION);/*載入一個標准圖標*/
wc.hIconSm =LoadIcon(NULL,IDI_APPLICATION);/*使用名稱「A」來作為該項目圖標*/
if(!RegisterClassEx(&wc)){
MessageBox(NULL,"WindowRegistrationFailed!","Error!",MB_ICONEXCLAMATION|MB_OK);
return0;
}
hwnd=CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Caption",WS_VISIBLE|WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,/*x*/
CW_USEDEFAULT,/*y*/
640,/*寬度*/
480,/*高度*/
NULL,NULL,hInstance,NULL);
if(hwnd==NULL){
MessageBox(NULL,"WindowCreationFailed!","Error!",MB_ICONEXCLAMATION|MB_OK);
return0;
}
/*
所有的輸入處理和發送到窗口過程。
注意,這個塊代碼流,直到它接收到的東西,
所以迴路不會產生不合理的高CPU使用率。
*/
while(GetMessage(&Msg,NULL,0,0)>0)/*如果沒有收到任何錯誤…*/
{
TranslateMessage(&Msg);/*如果存在翻譯關鍵碼字元*/
DispatchMessage(&Msg);/*發送它到WndProc*/
}
returnMsg.wParam;
}
❺ 如何在c語言字元界面中,直接把輸入的語句變成命令來執行
1、可以自己搜索下載個C語言解釋器,C語言本身是一種編譯語言,需要編譯器、鏈接器共同工作,換句話說,實際上C語言就是C語言編譯器的功能,如果用戶開發一種解釋器能實現C語言的自身的功能,也可以將C語言當成一種解釋語言。
2、可以自行開發C語言解釋器,但是這不是一件輕松的事情,拿來練練手,熟悉一下編譯原理和數據結構的基礎知識還可以。真開發這樣高效的解釋器是一件並不輕松的事情。
❻ 求幫忙一個C語言編程:設計字元界面 多種方法求最大欄位和問題
沒仔細看,但肯定是死循環了。要麼改用do-while結構,把scanf語句放入while循環體里,否則就把while條件改為真。
❼ linux字元界面c語言編寫包是哪個
1,先打開終端,就是通常是bash。 2,命令:gcc -o a.out man.c a.out是生成的可執行文件,main.c是你代碼存的文件。 3,命令:./a.out 注意:一個小點,然後才是斜杠,意思是當前目錄下的a.out 4,你忘了#include 了
❽ C語言 圖形界面 怎麼輸出一個字元
如果要在DOS屏幕輸出C語言是printf,C++是cout<<ch;如果要在MFC輸出可以用彈出對話框的方式MessageBox(ch,NULL,MB_OK)
C語言的圖形界面就是MFC,圖形界面上不能列印輸出,要麼以文本形式輸出到文件里保存,要麼以彈出警告框方式輸出,最常用的是彈出警告框,可以參考MSDN的MessageBox函數
❾ C語言漂亮字元圖案
最簡單的動態歡迎界面
就是定時列印字元.
例如:
sleep(1);睡一秒
printf("***");列印到屏幕上
具體怎麼個炫法,要你自己去設計.
❿ 求幫忙一個C語言編程:設計字元界面學生信息管理程序
哈哈,這是我們課程設計的題,剛做不久,直接導入TC即可運行。只是恐怕不能顯示中文,我們做時要下個CCDOS,並再安全模式下運行才能顯示中文。
#include "stdlib.h"
#include "string.h"
#include "stdio.h"
#define NULL 0
#define Q 10
#define LEN sizeof(struct student)
struct student
{char name[Q];
char sex[Q];
long id;
int score[4];
int total;
int m_c;
struct student *next;
};
int n;
char ch[Q];
struct student *creat()
{int i;
struct student *head,*p1,*p2;
p1=p2=(struct student *)malloc(LEN);
n=0;
printf("請輸入學生考試信息!\n");
printf("請在姓名處鍵以\"!\"結束輸入。\n");
printf("姓名:");
scanf("%s",ch);
head=NULL;
while (strcmp(ch,"!")!=0)
{p1=(struct student *)malloc(LEN);
strcpy(p1->name,ch);
printf("性別:");
scanf("%s",p1->sex);
printf("准考證號(8位):");
scanf("%ld",&p1->id);
printf("數學成績:");
scanf("%d",&p1->score[0]);
printf("物理成績:");
scanf("%d",&p1->score[1]);
printf("英語成績:");
scanf("%d",&p1->score[2]);
printf("C語言成績:");
scanf("%d",&p1->score[3]);
p1->total=p1->score[0]+p1->score[1]+p1->score[2]+p1->score[3];
if(n==0)head=p1;
else p2->next=p1;
p2=p1;
n++;
printf("姓名:");
scanf("%s",ch);
}
p2->next=NULL;
return (head);
}
void output(struct student *head)
{struct student *p;
printf("-----------------------------------------------------------------------\n");
printf(" *學生考試成績信息表*\n");
printf("-----------------------------------------------------------------------\n");
printf("准考證號 姓 名 性別 數學 物理 英語 C語言 平均分 總分\n");
printf("-----------------------------------------------------------------------\n");
p=head;
if(head!=NULL)
do{printf("%8ld %6s %4s %2d %2d %2d %2d %-.2f %3d\n",p->id,p->name,p->sex,p->score[0],p->score[1],p->score[2],p->score[3],p->total/4.0,p->total);
printf("-----------------------------------------------------------------------\n");
p=p->next;
}while(p!=NULL);
}
count(struct student *head)
{if(head==NULL)return(0);
else return(1+count(head->next));
}
struct student *insert(struct student*head)
{struct student *p1,*p2,*p3;
printf("請輸入修改信息!\n");
p1=(struct student *)malloc(LEN);
printf("准考證號(8位):");
scanf("%ld",&p1->id);
printf("姓名:");
scanf("%s",p1->name);
printf("性別:");
scanf("%s",p1->sex);
printf("數學成績:");
scanf("%d",&p1->score[0]);
printf("物理成績:");
scanf("%d",&p1->score[1]);
printf("英語成績:");
scanf("%d",&p1->score[2]);
printf("C語言成績:");
scanf("%d",&p1->score[3]);
p1->total=p1->score[0]+p1->score[1]+p1->score[2]+p1->score[3];/*計算總分 */
p2=head;
if(head==NULL)
{head=p1;p1->next=NULL;}
else {while((p1->id>p2->id)&&(p2->next!=NULL))
{p3=p2;
p2=p2->next;}
if(p1->id<=p2->id)
{if(head==p2){p1->next=head;head=p1;}
else {p3->next=p1;p1->next=p2;}
}
else{p2->next=p1;p1->next=NULL;}
}
n++;
return(head);
}
struct student *delete (struct student *head,long int num)
{struct student *p1,*p2;
printf("要刪除的學生准考證號為:%ld\n",num);
if(head==NULL)
{printf("這是一個空表,沒有可刪除的學生准考證號!\n");return(head);}
else{p1=head;
while(num!=p1->id&&p1->next!=NULL)
{p2=p1;p1=p1->next;}
if(num==p1->id)
{if(p1==head) head=p1->next;
else p2->next=p1->next;
printf("刪除准考證號為%ld的學生\n",num);
n--;}
else printf("沒找到准考證號為%ld的學生!\n",num);
return(head);
}
}
struct student *find(struct student *head,long int num)
{struct student *p1;
printf("要查找的學生准考證號為:%ld\n",num);
if(head==NULL)
{printf("這是一個空表,沒有要查找的學生准考證號!\n");return(head);}
else{p1=head;
while(num!=p1->id&&p1->next!=NULL)
{p1=p1->next;}
if(num==p1->id)
{ printf("------------------------------------------------------------------------------\n");
printf("准考證號 姓 名 性別 數學 物理 英語 C語言 平均分 總分 名次\n");
printf("------------------------------------------------------------------------------\n");
printf("%8ld %6s %4s %2d %2d %2d %2d %-.2f %3d %-2d\n",p1->id,p1->name,p1->sex,p1->score[0],p1->score[1],p1->score[2],p1->score[3],p1->total/4.0,p1->total,p1->m_c);
printf("------------------------------------------------------------------------------\n");
}
else printf("沒找到准考證號為%ld的學生!\n",num);
return(head);
}
}
paixu(struct student *head)
{int i,k,m,j;
struct student *p1,*p2,*p[Q];
m=count(head);
if(head==NULL)
{printf("這是一個空表,請先輸入考生成績!\n");}
else {printf("------------------------------------------------------------------------------\n");
printf(" *學 生 考 試 成 績 統 計 表*\n");
printf("------------------------------------------------------------------------------\n");
printf("准考證號 姓 名 性別 數學 物理 英語 C語言 平均分 總分 名次\n");
printf("------------------------------------------------------------------------------\n");
p1=head;
for(k=0;k<m;k++)
{p[k]=p1;p1=p1->next;}
for(k=0;k<m-1;k++)
for(j=k+1;j<m;j++)
if(p[k]->total<p[j]->total)
{p2=p[k];p[k]=p[j];p[j]=p2;}
}
for(i=0;i<m;i++)
{printf("%8ld %6s %4s %2d %2d %2d %2d %-.2f %3d %-2d\n",p[i]->id,p[i]->name,p[i]->sex,p[i]->score[0],p[i]->score[1],p[i]->score[2],p[i]->score[3],p[i]->total/4.0,p[i]->total,i+1);
printf("------------------------------------------------------------------------------\n");/*78個「-」*/
p[i]->m_c=i+1;
}
}
dkarg(struct student *head)
{struct student *p1;
int k,m;
float arg1=0,arg2=0,arg3=0,arg4=0;
m=count(head);
p1=head;
for(k=0;k<m;k++)
{arg1+=p1->score[0];
arg2+=p1->score[1];
arg3+=p1->score[2];
arg4+=p1->score[3];
p1=p1->next;}
arg1/=m;arg2/=m;arg3/=m;arg4/=m;
printf(" *全班單科成績平均分*\n");
printf("------------------------------------------------------------------------------\n");
printf("數學平均分:%.2f 物理平均分:%.2f 英語平均分:%.2f C語言平均分:%.2f \n",arg1,arg2,arg3,arg4);
printf("------------------------------------------------------------------------------\n");
}
void main()
{int k;
struct student *head;
long i;
printf("<><><><><><><><><><><><><><>\n");
printf("|學 生 成 績 系 統 主 菜 單 界 面|\n");
printf("| 1.輸入學生成績 |\n");
printf("| 2.顯示學生成績 |\n");
printf("| 3.修改學生成績 |\n");
printf("| 4.刪除學生成績 |\n");
printf("| 5.排序學生成績 |\n");
printf("| 6.查找學生成績 |\n");
printf("| 7.安全退出系統 |\n");
printf("| ->學生成績管理程序 設計者:陸曉成<- |\n");
printf("<><><><><><><><><><><><><><>\n");
head=creat();
do{printf("<><><><><><><><><><><><><><>\n");
printf("|學 生 成 績 系 統 主 菜 單 界 面|\n");
printf("| 1.輸入學生成績 |\n");
printf("| 2.顯示學生成績 |\n");
printf("| 3.修改學生成績 |\n");
printf("| 4.刪除學生成績 |\n");
printf("| 5.排序學生成績 |\n");
printf("| 6.查找學生成績 |\n");
printf("| 7.安全退出系統 |\n");
printf("| ->學生成績管理程序 設計者:陸曉成<- |\n");
printf("<><><><><><><><><><><><><><>\n");
printf("請輸入選擇號(1--7):");
scanf("%d",&k);
switch(k)
{ case 1:head=creat();break;
case 2:output(head);printf("參加考試的學生人數為:%d人\n",count(head));printf("請按任意鍵顯示主菜單!\n");getch();break;
case 3:head=insert(head);output(head);printf("請按任意鍵顯示主菜單!\n");getch(); break;
case 4:printf("請輸入要刪除的准考證號(8位):");scanf("%ld",&i);head=delete(head,i);output(head);printf("請按任意鍵顯示主菜單!\n");getch(); break;
case 5:paixu(head);dkarg(head);printf("參加考試的學生人數為:%d人\n",count(head));printf("請按任意鍵顯示主菜單!\n");getch();break;
case 6:printf("請輸入要查找的准考證號(8位):");scanf("%ld",&i);head=find(head,i);printf("請按任意鍵顯示主菜單!\n");getch();break;
default:break;
}
}while(k!=7);
}