Topic: soal function dlm C

saya menemukan soal spt ini:
http://img372.imageshack.us/img372/1402/15894003dz8.jpg


lalu saya membuat code spt ini:

#include "stdio.h"
#include "conio.h"
void cetak(int x, int y, char a)
{
gotoxy(x,y);
printf("%c",a);
}

void main ()
{
clrscr();
cetak(5,5,"hello people")
getch();
}

tp ketika saya compile, muncul pesan error: type mismatch in parameter "a" in call to "cetak" in function main
(saya menggunakan turbo c)

dimana letak kesalahan codenya?
bagaimana code yg benar untuk soal ini?
mohon bantuannya...

Re: soal function dlm C

Error: type mismatch in parameter "a" in call to "cetak" in function main menyatakan bahwa tipe data argumen untuk parameter a fungsi cetak tidak sesuai.

Argumen yang anda berikan adalah "hello people" sementara parameter a deklarasinya char a. Parameter a seharusnya dideklarasikan char *a atau char a[].

Dengan begitu, maka format pencetakan untuk parameter a di dalam fungsi tersebut bukan "%c" tetapi "%s".

Anda boleh saja menggunakan fungsi printf tetapi kalo target pencetakan yg dimaksud adalah konsol maka sebaiknya menggunakan fungsi cprintf.

Catatan:
Maaf, saya sengaja tidak menuliskan ulang program tersebut agar anda memperbaikinya sendiri sehingga betul-betul memahami apa yang saya sebutkan di atas. Silahkan perbaiki dan kompile ulang. Kalo sudah sukses, tulis ulang program tadi dan post ke sini.

http://www.id-ddns.net/images/ddns-small.jpg

Re: soal function dlm C

Wah trimakasih skali atas tanggapannya. Akhirnya programnya bisa dijalankan.

#include "stdio.h"
#include "conio.h"
void cetak(int x, int y, char *a)
{
gotoxy(x,y);
printf("%s",a);
}

void main ()
{
clrscr();
cetak(5,5,"hello people");
getch();
}

Tp saya ms bingung perbedaan printf dgn cprintf krn kalau saya ganti printf dgn cprintf, menghasilkan output yg sama. Lalu ap maksudnya "target pencetakan yg dimaksud adalah konsol" ? (maaf, saya br belajar pemrograman)

4 (edited by mustofa 24-11-2008 02:26:01)

Re: soal function dlm C

@ husinwijaya
Sama-sama. Saya senang anda dapat memahami uraian saya.

printf target pencetakannya adalah stdout.

Jika program tsb bernama test.exe:
* coba jalankan program tersebut dengan perintah test > c:\husin.txt maka output program tersebut adalah file c:\husin.txt. Buka file tersebut dan lihat isinya.
* coba pasang printer ke port prn dan hidupkan. jalankan program tersebut dengan perintah test > prn maka output program tersebut adalah ke printer.

cprintf target pencetakannya adalah console (monitor).
coba jalankan program tersebut seperti contoh di atas. Keduanya akan tetap dicetak ke konsol.

Mudah-mudahan dapat membantu. Terus belajar, jangan pernah menyerah. Ok? smile

http://www.id-ddns.net/images/ddns-small.jpg

Re: soal function dlm C

perintah "test>prn" nya diketiknya dimana tuh om? Di Command Prompt.. atau saat program dijalanin..

=============================================
Belajar, Belajar, Maen, Maen, Maen, Maen....... biar Mood smile belajarnya

Re: soal function dlm C

lah kok padha maen item-putih(console)...yang GUI ada gak ya?

IF YOU NOT PART OF THE SOLUTION, THEN YOU PART OF THE PROBLEM

Re: soal function dlm C

the_bok3f_army wrote:

perintah "test>prn" nya diketiknya dimana tuh om? Di Command Prompt.. atau saat program dijalanin..

Ya, tepatnya di direktori test.exe berada.
Kalo test.exe ada di drive/direktori lain maka tuliskan itu secara tepat. Misal d:\temp\test > prn

http://www.id-ddns.net/images/ddns-small.jpg

Re: soal function dlm C

walah wrote:

lah kok padha maen item-putih(console)...yang GUI ada gak ya?

Untuk GUI dalam Windows silahkan anda gunakan MS Visual C atau Borland C++ versi 5 atau yang lebih baru.

http://www.id-ddns.net/images/ddns-small.jpg