coding C++ pembalik kalimat / kata



#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
 clrscr();
 char kata[99];
 int i; char balik[99];int p,j=0,hasil;
 printf("*******************************************************************************");
 printf("\n*******************************************************************************");
 printf("\n\n| | | | | | | |  P R O G R A M   M E M B A L I K  K A L I M A T  | | | | | | | |");
 printf("\n\n*******************************************************************************");
 printf("\n*******************************************************************************");
 printf("\n\nPROGRAM  INI  AKAN  MENSELEKSI  KALIMAT / KATA TERSEBUT PALINDROM ATAU BUKAN");
 printf("\n\nMASUKAN KATA / KALIMAT    :");//akan ada bekas kalimat sebelumnya, jika kalimat yang dimasukan sebelumnya lebih panjang dari kalimat yang akan dimasukan, TC harus restart
 gets(kata);
 p=strlen(kata)-1;
 for(i=p;i>=0;i--)
 {balik[j]=kata[i];j++;}
 printf("\nKEBALIKAN    :%s",balik);
 hasil = strcmp(kata,balik);
 if(hasil>0)
  printf("\nSALAH, BUKAN PALINDROM");
  else
  if(hasil==0)
  printf("\nPALINDROM");
  else
  printf("\nSALAH, BUKAN PALINDROM");
 getch();
}

Membuat pohon natal dengan c++

#include<stdio.h>
#include<conio.h>
void main()
{
  clrscr();
  int x,y,z;
  for(x=1;x<=5;x++)
  {for(y=5;y>=x;y--)
   {printf(" ");}
    for(z=1;z<=x;z++)
     {printf(" *");}
      printf("\n");}
  getch();
}

cara mengotomatisasi Microsoft Word dengan Microsoft Visual C++ untuk mengambil kembali dan manipulasi properti dokumen

Untuk membangun aplikasi konsol Visual C++ 6.0 sederhana yang mengotomatisasi Microsoft Word menggunakan Visual C++, ikuti langkah-langkah berikut:
  1. Mulai Visual C++ 6.0, dan membuat aplikasi konsol Win32 baru yang bernama AutoWord. Pilih aplikasi "Halo, dunia!" dasar, dan kemudian klik selesai.
  2. Buka berkas AutoWord.cpp dihasilkan, dan kemudian ganti isinya dengan kode berikut:
    #include "stdafx.h"
    #include <ole2.h>
    
    // 
    // AutoWrap() - Automation helper function...
    // 
    HRESULT AutoWrap(int autoType, VARIANT *pvResult, IDispatch *pDisp, 
          LPOLESTR ptName, int cArgs...) 
    {
          // Begin variable-argument list...
          va_list marker;
          va_start(marker, cArgs);
    
          if(!pDisp) {
                MessageBox(NULL, "NULL IDispatch passed to AutoWrap()", 
                           "Error", 0x10010);
                _exit(0);
          }
    
          // Variables used...
          DISPPARAMS dp = { NULL, NULL, 0, 0 };
          DISPID dispidNamed = DISPID_PROPERTYPUT;
          DISPID dispID;
          HRESULT hr;
          char buf[200];
          char szName[200];
       
          // Convert down to ANSI
          WideCharToMultiByte(CP_ACP, 0, ptName, -1, szName, 256, NULL, NULL);
       
          // Get DISPID for name passed...
          hr = pDisp->GetIDsOfNames(IID_NULL, &ptName, 1, LOCALE_USER_DEFAULT, 
                                    &dispID);
          if(FAILED(hr)) {
                sprintf(buf, 
                        "IDispatch::GetIDsOfNames(\"%s\") failed w/err0x%08lx",
                        szName, hr);
                MessageBox(NULL, buf, "AutoWrap()", 0x10010);
                _exit(0);
                return hr;
          }
       
          // Allocate memory for arguments...
          VARIANT *pArgs = new VARIANT[cArgs+1];
    
          // Extract arguments...
          for(int i=0; i<cArgs; i++) {
                pArgs[i] = va_arg(marker, VARIANT);
          }
       
          // Build DISPPARAMS
          dp.cArgs = cArgs;
          dp.rgvarg = pArgs;
       
          // Handle special-case for property-puts!
          if(autoType & DISPATCH_PROPERTYPUT) {
                dp.cNamedArgs = 1;
                dp.rgdispidNamedArgs = &dispidNamed;
          }
       
          // Make the call!
          hr = pDisp->Invoke(dispID, IID_NULL, LOCALE_SYSTEM_DEFAULT, autoType, 
                             &dp, pvResult, NULL, NULL);
          if(FAILED(hr)) {
                sprintf(buf,
                        "IDispatch::Invoke(\"%s\"=%08lx) failed w/err 0x%08lx", 
                        szName, dispID, hr);
                MessageBox(NULL, buf, "AutoWrap()", 0x10010);
                _exit(0);
                return hr;
          }
          // End variable-argument section...
          va_end(marker);
       
          delete [] pArgs;
       
          return hr;
    
    }
    
    int main(int argc, char* argv[])
    {
          // Initialize COM for this thread...
          CoInitialize(NULL);
    
          // Get CLSID for Word.Application...
          CLSID clsid;
          HRESULT hr = CLSIDFromProgID(L"Word.Application", &clsid);
          if(FAILED(hr)) {
                ::MessageBox(NULL, "CLSIDFromProgID() failed", "Error", 
                             0x10010);
                return -1;
          }
    
          // Start Word and get IDispatch...
          IDispatch *pWordApp;
          hr = CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, 
                                IID_IDispatch, (void **)&pWordApp);
          if(FAILED(hr)) {
                ::MessageBox(NULL, "Word not registered properly", 
                             "Error", 0x10010);
                return -2;
          }
    
          // Make Word visible
          {
                VARIANT x;
                x.vt = VT_I4;
                x.lVal = 1;
                AutoWrap(DISPATCH_PROPERTYPUT, NULL, pWordApp, L"Visible", 1, 
                         x);
          }
    
          // Get Documents collection
          IDispatch *pDocs;
          {
                VARIANT result;
                VariantInit(&result);
                AutoWrap(DISPATCH_PROPERTYGET, &result, pWordApp, L"Documents", 
                         0);
    
                pDocs = result.pdispVal;
          }
    
          // Call Documents.Open() to open C:\Doc1.doc
          IDispatch *pDoc;
          {
                VARIANT result;
                VariantInit(&result);
                VARIANT x;
                x.vt = VT_BSTR;
                x.bstrVal = ::SysAllocString(L"C:\\Doc1.doc");
    
                AutoWrap(DISPATCH_METHOD, &result, pDocs, L"Open", 1, x);
                pDoc = result.pdispVal;
                SysFreeString(x.bstrVal);
          }
    
          // Get BuiltinDocumentProperties collection
          IDispatch *pProps;
          {
                VARIANT result;
                VariantInit(&result);
                AutoWrap(DISPATCH_PROPERTYGET, &result, pDoc, 
                         L"BuiltinDocumentProperties", 0);
                pProps = result.pdispVal;
          }
    
          // Get "Subject" from BuiltInDocumentProperties.Item("Subject")
          IDispatch *pPropSubject;
          {
                VARIANT result;
                VariantInit(&result);
                VARIANT x;
                x.vt = VT_BSTR;
                x.bstrVal = ::SysAllocString(L"Subject");
                AutoWrap(DISPATCH_PROPERTYGET, &result, pProps, L"Item", 1, x);
                pPropSubject = result.pdispVal;
                SysFreeString(x.bstrVal);
          }
    
          // Get the Value of the Subject property and display it
          {
                VARIANT result;
                VariantInit(&result);
                AutoWrap(DISPATCH_PROPERTYGET, &result, pPropSubject, L"Value",
                         0);
                char buf[512];
                wcstombs(buf, result.bstrVal, 512);
                ::MessageBox(NULL, buf, "Subject", 0x10000);
    		 
          }
    
          // Set the Value of the Subject DocumentProperty
          {
                VARIANT x;
                x.vt = VT_BSTR;
                x.bstrVal = ::SysAllocString(L"This is my subject");
                AutoWrap(DISPATCH_PROPERTYPUT, NULL, pPropSubject, L"Value", 1, 
                         x);
                ::MessageBox(NULL, 
                             "Subject property changed, examine document.",
                             "Subject", 0x10000);
                SysFreeString(x.bstrVal);
          }
    
          // Get CustomDocumentProperties collection
          IDispatch *pCustomProps;
          {
                VARIANT result;
                VariantInit(&result);
                AutoWrap(DISPATCH_PROPERTYGET, &result, pDoc, 
                         L"CustomDocumentProperties", 0);
                pCustomProps = result.pdispVal;
          }
    
          // Add a new property named "CurrentYear"
          {	  	
                VARIANT parm1, parm2, parm3, parm4;
                parm1.vt = VT_BSTR;
                parm1.bstrVal = SysAllocString(L"CurrentYear");
                parm2.vt = VT_BOOL;
                parm2.boolVal = false;
                parm3.vt = VT_I4;
                parm3.lVal = 1; //msoPropertyTypeNumber = 1
                parm4.vt = VT_I4;
                parm4.lVal = 1999;
    
                AutoWrap(DISPATCH_METHOD, NULL, pCustomProps, L"Add", 4, parm4,
                         parm3, parm2, parm1);
                ::MessageBox(NULL, "Custom property added, examine document.",
                             "Custom Property", 0x10000);
                SysFreeString(parm1.bstrVal);
          }
    
          // Get the custom property "CurrentYear" and delete it
          IDispatch *pCustomProp;
          {
                VARIANT result;
                VariantInit(&result);
                VARIANT x;
                x.vt = VT_BSTR;
                x.bstrVal = ::SysAllocString(L"CurrentYear");
                AutoWrap(DISPATCH_PROPERTYGET, &result, pCustomProps, L"Item",
                         1, x);
                pCustomProp = result.pdispVal;
                SysFreeString(x.bstrVal);
                AutoWrap(DISPATCH_METHOD, NULL, pCustomProp, L"Delete", 0);
                ::MessageBox(NULL,
                             "Custom property removed, examine document.",
                             "Custom Property", 0x10000);
          }
    	  
          // Close the document without saving changes and quit Word
          {
                VARIANT x;
                x.vt = VT_BOOL;
                x.boolVal = false;
                AutoWrap(DISPATCH_METHOD, NULL, pDoc, L"Close", 1, x);
                AutoWrap(DISPATCH_METHOD, NULL, pWordApp, L"Quit", 0);
          }
    
          // Cleanup
          pCustomProp->Release();
          pCustomProps->Release();
          pPropSubject->Release();
          pProps->Release();
          pDoc->Release();
          pDocs->Release();
          pWordApp->Release();
    
    
          // Uninitialize COM for this thread...
          CoUninitialize();
    
          return 0;
    }
    					
  3. Menggunakan Microsoft Word untuk membuat dokumen baru, dan menyimpan dokumen baru sebagai C:\Doc1.doc.Jika tidak, galat 0x800A1436 (-2146823114) akan ditampilkan. Galat ini menunjukkan bahwa "file yang tidak ada" ketika mencoba kode untuk membukanya.
  4. Kompilasi dan jalankan.
Kode menunjukkan membaca dan menulis properti dokumen internal dan properti kustom dokumen. Ketika menjalankan, kode menampilkan nilai properti subjek internal, perubahan nilai ini adalah subjek saya, dan membuat properti kustom dokumen baru yang bernama CurrentYearSaat Anda diminta untuk Memeriksa dokumen dengan kode, beralih ke Microsoft Word, dan kemudian klik properti pada File menu. Ketika selesai, membaca komentar kode untuk mempelajari cara kerjanya.

Catatan Tujuan fungsi AutoWrap dalam contoh ini adalah untuk membungkus panggilan GetIDsOfNames dan Invoke untuk memfasilitasi otomatisasi dengan lurus C++. Ketika Anda membuat struktur DISPPARAMS untuk panggilan ke Invoke, unsur-unsur sebenarnya disampaikan dalam urutan terbalik dari apa mengharapkan fungsi yang terlibat. Oleh karena itu, ketika Anda menggunakan panggilan AutoWrap untuk memanggil fungsi dengan lebih dari satu argumen, Anda harus melewati mereka dalam urutan terbalik seperti digambarkan dalam contoh dengan panggilan untuk memanggil DocumentProperties::Add:

      AutoWrap(DISPATCH_METHOD, NULL, pCustomProps, L"Add", 4, parm4,
               parm3, parm2, parm1);

Otomatisasi office dengan visual c++

  1. Apa itu otomatisasi?

    Otomatisasi (sebelumnya OLE otomatisasi) adalah teknologi yang memungkinkan Anda untuk memanfaatkan fungsionalitas program yang sudah ada dan dimasukkan ke dalam aplikasi Anda sendiri. Misalnya, Anda dapat menggunakan Microsoft Word ejaan dan tata bahasa memeriksa kemampuan ke dalam aplikasi Anda tanpa Microsoft Word dapat dilihat oleh pengguna. Anda bahkan dapat menggunakan semua Microsoft Excel membuat bagan, pencetakan dan data alat analisis. Teknologi ini dapat sangat menyederhanakan dan mempercepat pengembangan Anda.
  2. Saya baru untuk otomatisasi, di mana saya dapat menemukan sumber daya yang baik untuk mempelajari selengkapnya?Bab 24 David Kruglinski "di dalam Visual C++" (ISBN:1-57231-565 - 2) menyediakan Ikhtisar umum serta beberapa contoh besar. Selain itu, di Pangkalan Pengetahuan Microsoft adalah sumber informasi yang baik. Artikel ini sendiri adalah awal yang baik, dan Anda dapat menemukan referensi lebih spesifik dalam artikel Basis Pengetahuan Microsoft:
    152023 Mencari sumber daya untuk belajar Otomasi OLE
    Jika Anda lebih suka belajar dengan contoh, lihat artikel berikut ini di Pangkalan Pengetahuan Microsoft:
    179706 HOWTO gunakan MFC untuk mengotomatisasi Excel & membuat/Format buku kerja baru
  3. Apakah ada cara yang berbeda yang dapat menggunakan otomatisasi?

    Ada tiga cara dasar yang dapat Anda gunakan otomatisasi: MFC, #import, dan C C++:
    • Dengan MFC, menggunakan Visual C++ ClassWizard untuk menghasilkan "pembungkus kelas" dari perpustakaan jenis Microsoft Office. Kelas ini, serta kelas MFC lainnya, seperti COleVariant, COleSafeArray, COleException, menyederhanakan tugas otomatisasi. Metode ini biasanya disarankan atas yang lain, dan banyak contoh Pangkalan Pengetahuan Microsoft menggunakan MFC.
    • #import, petunjuk baru yang menjadi tersedia dengan Visual C++ 5.0 menciptakan VC ++ "smart pointer" dari perpustakaan jenis tertentu. Kuat, tetapi sering tidak disarankan karena ada referensi - masalah menghitung yang biasanya terjadi ketika digunakan dengan aplikasi Microsoft Office.
    • C C++ otomatisasi adalah banyak lebih sulit, tetapi kadang-kadang diperlukan untuk menghindari beban dengan MFC, atau masalah dengan #import. Pada dasarnya, Anda bekerja dengan api tersebut sebagai fungsi CoCreateInstance, dan COM antarmuka seperti IDispatch dan IUnknown.
    Penting untuk dicatat bahwa ada beberapa sedikit perbedaan antara otomatisasi dari C++ dibandingkan polos C, karena COM dirancang di kelas C++. Untuk informasi selengkapnya, baca artikel berikut di Pangkalan Pengetahuan Microsoft untuk contoh C:
    181473 HOWTO: Menggunakan Otomasi OLE dari aplikasi C
  4. Apa itu COM?

    Otomatisasi didasarkan pada Model objek komponen (COM). COM adalah perangkat lunak standar arsitektur didasarkan pada antarmuka, dan dirancang untuk memiliki kode dipisahkan ke objek mandiri. Menganggapnya sebagai ekstensi paradigma pemrograman berorientasi objek berorientasi pemrograman (objek), namun dapat diterapkan untuk memisahkan aplikasi. Setiap objek memperlihatkan serangkaian antarmuka, dan semua komunikasi ke objek, seperti inisialisasi, pemberitahuan, dan data transfer, terjadi melalui antarmuka ini.

    COM juga adalah serangkaian layanan yang disediakan oleh pustaka tautan dinamis (dll) yang diinstal dengan sistem operasi. Otomatisasi menggunakan banyak layanan tersebut. Salah satu contoh adalah layanan "Menyusun", yang paket aplikasi klien panggilan ke fungsi antarmuka aplikasi server anggota dan melewati mereka, dengan argumen mereka, untuk aplikasi server. Membuatnya terlihat antarmuka server yang terkena di ruang memori klien yang tidak terjadi apabila klien .exe dijalankan dalam ruang proses. Marshalling juga mendapatkan kembali nilai-nilai dari server metode kembali seluruh proses batas dan aman tangan panggilan klien. Ada banyak layanan lain yang penting untuk otomatisasi yang disediakan oleh Perpustakaan COM berbagai. Sumber informasi tentang tersebut termasuk "Di dalam Ole – Second Edition" oleh Kraig Brockschmidt, ISBN 1-55615-843-2, "Di dalam COM" oleh Dale Rogerson - ISBN 1-57231-349-8, dan "Otomatisasi Programmer referensi," ISBN 1-57231-584-9.
  5. Bagaimana melampirkan ke contoh menjalankan aplikasi Office?

    Gunakan GetActiveObject() API. Server otomatisasi mendaftarkan diri di ROT (menjalankan tabel objek), melalui RegisterActiveObject() API. Klien otomatisasi bisa mendapatkan pada contoh berjalan dengan kode seperti:
          // Translate server ProgID into a CLSID. ClsidFromProgID
          // gets this information from the registry.
          CLSID clsid;
          CLSIDFromProgID(L"Excel.Application", &clsid);  
    
          // Get an interface to the running instance, if any..
          IUnknown *pUnk;
          HRESULT hr = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk);
    
          ASSERT(!FAILED(hr));
    
          // Get IDispatch interface for Automation...
          IDispatch *pDisp;
          hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp);
          ASSERT(!FAILED(hr));
    
          // Release the no-longer-needed IUnknown...
          pUnk->Release();
    
    						
    Catatan: jika ada banyak contoh menjalankan aplikasi Office yang ingin Anda pasang, Anda hanya dapat melampirkan ke contoh pertama yang diluncurkan menggunakan GetActiveObject() API.

    Secara teoretis, Anda dapat mengulang ROT untuk setiap hal yang masing-masing, namun aplikasi Office tidak mendaftarkan diri jika item lainnya sedang MEMBUSUK karena moniker sendiri tidak selalu sama (itu tidak dapat dibedakan tetap). Ini berarti bahwa Anda tidak dapat melampirkan contoh apa pun kecuali untuk yang pertama. Namun, karena aplikasi Office juga mendaftar dokumen di ROT, Anda dapat berhasil melampirkan item lain dengan iterasi ROT mencari dokumen khusus, melampirkan, kemudian mendapatkan objek aplikasi dari itu. Ada beberapa kode di artikel Pangkalan Pengetahuan Microsoft berikut ini untuk iterasi ROT dan Cari nama dokumen:
    190985 HOWTO: Mendapatkan IDispatch Excel atau dokumen Word dari OCX
    Anda tidak perlu melakukan hal ini untuk PowerPoint, karena aplikasi satu contoh; Anda hanya dapat memiliki satu contoh dari berjalan.
  6. Bagaimana saya melewati parameter opsional?

    Beberapa metode yang memiliki parameter "opsional". Dalam Visual Basic, Anda dapat begitu saja mengabaikan mereka saat memanggil metode. Namun, ketika menelepon dengan Visual C++ Anda harus menyampaikan varian khusus yang bidang .vt adalah VT_ERROR, dan kolom .scode adalah DISP_E_PARAMNOTFOUND. Yaitu:
          // VARIANT used in place of optional-parameters.
          VARIANT varOpt;
          varOpt.vt = VT_ERROR;
          varOpt.scode = DISP_E_PARAMNOTFOUND;
    						
    Ini adalah benar-benar apa yang dilakukan Visual Basic balik layar.
  7. Bagaimana cara menangkap peristiwa yang terpapar oleh aplikasi Office?

    Pada dasarnya Anda menerapkan antarmuka peristiwa yang ingin menangkap ("sink"), dan penataan sambungan penasihat dengan aplikasi ("sumber"). Artikel berikut ini memberikan contoh langkah demi langkah untuk Microsoft Word:
    183599 HOWTO: Menangkap peristiwa aplikasi Microsoft Word97 menggunakan VC ++
    Secara umum, setup sambungan penasihat, Anda mendapatkan server IConnectionPointContainer dan panggilan FindConnectionPoint() dengan riset antarmuka peristiwa. Ini memberikan antarmuka IConnectionPoint dan semua yang tersisa adalah untuk memanggil Advise() dengan contoh antarmuka peristiwa. Server akan kemudian panggilan kembali melalui antarmuka ini ketika peristiwa ini terjadi.
  8. Kode otomatisasi saya terlalu lambat. Bagaimana cara mempercepat hal?

    Penyebab umum kecepatan masalah dengan otomatisasi adalah dengan membaca dan menulis data yang berulang-ulang. Ini khas untuk klien Otomasi Excel. Namun, sebagian besar orang tidak menyadari bahwa data ini biasanya dapat ditulis atau membaca sekaligus menggunakan SAFEARRAY. Lihat artikel Basis Pengetahuan Microsoft berikut untuk informasi lebih lanjut dan informatif contoh:
    186120 HOWTO: Menggunakan MFC untuk mengotomatisasi Excel dan mengisi kisaran dengan Array
    186122 HOWTO: Menggunakan MFC untuk mengotomatisasi Excel & mendapatkan Array dari kisaran
    179706 HOWTO: Menggunakan MFC untuk mengotomatisasi Excel dan membuat/Format buku kerja baru
    Selain itu, sangat penting untuk menunjukkan bahwa menggunakan clipboard kadang-kadang dapat meningkatkan kinerja. Misalnya, Anda dapat menyalin data ke clipboard, kemudian gunakan otomatisasi untuk memberitahu server untuk menempel. Atau sebaliknya; memberitahu server untuk salin ke clipboard, dan tempelkan ke aplikasi Anda.
  9. Apakah nilai besar galat ini, seperti-2147352573, atau 0x80030002 berarti?

    Nilai ini disebut sebagai HRESULTs dan ditetapkan di winerror.h. Angka sangat besar karena bit pertama menunjukkan apakah galat hasil. Anda dapat menggunakan utilitas ErrLook.Exe yang dilengkapi dengan Visual C++ menerjemahkan angka-angka ini ke Deskripsi bermakna.

    Jika Anda ingin secara sistematis mendapatkan keterangan untuk galat, Anda dapat menggunakan FormatMessage() API.Lihat artikel Basis Pengetahuan Microsoft berikut untuk informasi lebih lanjut dan contoh penggunaan FormatMessage():
    186063 INFO: Menerjemahkan kesalahan Otomasi VB VBA
    122957 Contoh: Decode32 dan Decode16 OLE galat kode Decoder alat
    Catatan: jika Anda menggunakan Visual C++ 6.0 dan variabel yang berisi nilai ini di jendela watch debug, tambahkan ", hr" (tanpa tanda kutip) untuk memiliki Visual C++ menerjemahkan untuk Anda!
  10. Apa yang dimaksud dengan perpustakaan jenis?

    Perpustakaan jenis mirip dengan berkas header C C++. Berisi antarmuka, metode, dan properti yang server penerbitan.Anda dapat melihat Perpustakaan jenis dengan penampil Objek OLE COM (Oleview.exe) yang dilengkapi dengan Visual C++. Berikut adalah daftar nama file Perpustakaan jenis untuk Microsoft Office 95, 97, dan 2000:
           Office Application      | Type library
           ------------------------+----------------
           Word 95 and prior       | wb70en32.tlb
           Excel 95 and prior      | xl5en32.olb
           Powerpoint 95 and prior | Powerpoint.tlb
           Access 95 and prior     | msaccess.tlb
           Binder 95               | binder.tlb
           Schedule+               | sp7en32.olb
           Project                 | pj4en32.olb
           Team Manager            | mstmgr1.olb
           Word 97                 | msword8.olb
           Excel 97                | excel8.olb
           Powerpoint 97           | msppt8.olb
           Access 97               | msacc8.olb
           Binder 97               | msbdr8.olb
           Graph 97                | graph8.olb
           Outlook 97              | msoutl8.olb
           Outlook 98              | msoutl85.olb
           Word 2000               | msword9.olb
           Excel 2000              | excel9.olb
           Powerpoint 2000         | msppt9.olb
           Access 2000             | msacc9.olb
           Outlook 2000            | msoutl9.olb
           Word 2002               | msword.olb
           Excel 2002              | excel.exe
           Powerpoint 2002         | msppt.olb
           Access 2002             | msacc.olb
           Outlook 2002            | msoutl.olb 
    
    
    						
  1. Kode otomatisasi saya bekerja dengan Excel 95, tetapi gagal dengan Excel 97. Apa yang terjadi?

    Model objek untuk Excel membuat perubahan yang signifikan dari versi 95 97. Excel 95 diimplementasikan semua metode dan properti pelaksanaan IDispatch tunggal. Ini berarti bahwa sering Anda dapat memanggil metode dimaksudkan untuk objek X, dari objek Y. Ini bukanlah desain yang baik, sehingga di Office 97, setiap objek sendiri terpisah Idispatch implementasi. Ini berarti bahwa jika Anda meminta metode atau properti dari objek X dari objek terpisah Y, Anda mendapatkan galat 0x80020003,-2147352573, "anggota tidak ditemukan." Untuk menghindari galat ini, Anda harus memastikan bahwa antarmuka IDispatch dasar Anda membuat panggilan dari satu semantik yang benar.Lihat artikel Basis Pengetahuan Microsoft berikut untuk informasi lebih lanjut:
    172108 HOWTO: Pemecahan masalah "Anggota tidak ditemukan", 0x80020003 galat
  2. Aplikasi saya mengotomatisasi tetap dalam memori setelah saya program selesai. Apa yang terjadi?

    Tentu saja, hal ini karena Anda lupa untuk melepaskan antarmuka diperoleh dan Anda harus melacak itu. Berikut adalah beberapa saran umum, dan hal-hal untuk mencari:
    • Jika Anda menggunakan #import, akan sangat mungkin Anda dapat menjalankan ke salah satu bug menghitung referensi yang berhubungan dengannya. Sering kali bug dapat bekerja di sekitar, tetapi biasanya itu lebih disukai untuk menggunakan salah satu metode otomatisasi lainnya. #import tidak bekerja dengan baik dengan aplikasi Office, karena Perpustakaan jenis dan penggunaan yang cukup kompleks. Selain itu, seperti referensi menghitung masalah sulit dilacak karena banyak tingkat interface COM panggilan balik layar dengan menggunakan #import.
    • Periksa untuk melihat jika Anda menelepon setiap metode, seperti membuka, atau baru, yang menghasilkan IDispatch * (LPDISPATCH), dan mengabaikan nilai kembali. Jika Anda, maka Anda meninggalkan antarmuka ini kembali dan harus mengubah kode Anda sehingga Anda mengeluarkan ketika tidak diperlukan.
    • Secara bertahap mengomentari bagian kode sampai masalah hilang, kemudian tambahkan kembali bijaksana untuk melacak mana masalah dimulai.
    • Perhatikan bahwa beberapa aplikasi akan tetap berjalan jika pengguna telah "menyentuh" aplikasi. Apabila ini terjadi saat Anda sedang mengotomatisasi, maka aplikasi mungkin akan tetap menjalankan sesudahnya. Aplikasi Office memiliki properti "UserControl" pada objek aplikasi yang Anda dapat baca/tulis untuk mengubah perilaku ini.
    • Selain itu, beberapa aplikasi akan memutuskan untuk tetap berjalan jika cukup-antarmuka pengguna "tindakan" telah terjadi. Jika Anda bermaksud untuk keluar dari aplikasi, kemudian memanggil metode Quit() pada objek aplikasi. Word akan mematikan terlepas dari jumlah referensi yang ketika Quit disebut. Ini bukan COM perilaku yang diharapkan. Excel, akan benar hanya menyembunyikan sendiri namun tetap berjalan sampai semua antarmuka biasa dirilis. Secara umum, Anda harus melepaskan semua referensi yang biasa, dan hanya panggilan Quit() jika Anda bermaksud untuk keluar dari aplikasi.
  3. Saya tahu apa yang ingin melakukan sebagai pengguna aplikasi Office, tapi bagaimana ini secara sistematis otomatisasi?

    Apa yang Anda minati adalah objek, metode, dan properti apa yang Anda butuhkan untuk menggunakan. Cara terbaik untuk mempelajari cara menavigasi model objek Word, Excel, dan Powerpoint, berdasarkan apa yang ingin Anda lakukan sebagai pengguna, adalah dengan menggunakan perekam makro. Hanya memilih Macro\ 'Rekor baru makro' dari menu Alat, menjalankan tugas Anda tertarik, kemudian pilih Macro\ 'Menghentikan perekaman.' Setelah Anda selesai merekam, pilih Macro\Macros dari menu Alat, pilih makro yang direkam, kemudian klik Edit. Ini akan membawa Anda ke kode VBA yang akan melakukan tugas yang direkam. Perlu diingat makro rekaman tidak akan kode mungkin terbaik dalam kebanyakan kasus, tetapi apakah itu baik untuk contoh cepat.
  4. Saya dapat mengotomatisasi aplikasi Office yang tertanam?

    Tentu saja. Trik mendapatkan IDispatch pointer: ini diberikan Visual C++ teknis catatan 39 (TN039). Lihat artikel Basis Pengetahuan Microsoft berikut ini contoh selangkah demi selangkah:
    184663 HOWTO: Menanamkan dan mengotomatisasi Microsoft Excel Worksheet dengan MFC
  5. Bagaimana cara mengakses properti dokumen saya di dokumen Office?

    Properti dokumen dapat diakses melalui otomatisasi, atau langsung melalui IPropertyStorage. Artikel Pangkalan Pengetahuan Microsoft berikut ini menunjukkan masing-masing metode:
    179494 HOWTO: Menggunakan otomatisasi untuk mengambil kembali properti dokumen internal
    186898 HOWTO: Baca dokumen gabungan properti secara langsung dengan VC ++

program sequential searching

berikut adalah contoh program yang menggunakan metode searching (pencarian data) tentunya dengan menggunakan teknik sequential searching.Langsung sja kita coba cpp dbawah ini,,., cekidot


#include <iostream.h>
#include <conio.h>


void main()
{
    int i;
    int cari,ketemu;
  int A[100]  ;

   cout<<"PROGRAM SEARCHING\n";
   cout<<"masukkan 7 buah data : \n\n";
   for (i=1;i<=7;i++)
   {
   cout<<"masukkan data ke-"<<i<<endl;
   cin>>A[i] ;
   }
   cout<<endl;
    cout<<"Input bilangan yang dicari : ";
    cin>>cari;

    ketemu=0;
    for(i=0;i<=7;i++)
    {
        if (A[i]==cari)
        {
            ketemu=1;
            cout<<"Data ditemukan pada indeks ke-"<<i;
        }
    }

    if (ketemu==0){
       cout<<"Data tidak ditemukan";
    }

 getch();
}

semoga bermanfaat untuk kita semua,., dan selamat mencoba.,.,

sumber:http://jnanayoga-online.blogspot.com/2010/04/contoh-program-metode-sequential.html

Keyword dan Fungsi Dasar dalam C++

Keyword adalah kata kunci yang digunakan dalam pemrograman untuk fungsi-fungsi tertentu. Dalam pemrograman c++ keyword dikenali oleh compiler dengan cara mendeklarasikan file headernya, tetapi ada juga keyword yang tidak perlu untuk mendeklarasikan file header. keyword merupakan pernyataan singkat dan mempunyai fungsi tertentu sehingga sangat fleksibel dan mudah dalam penggunaan dalam pemrograman. Berikut merupakan keyword dasar dalam c++.
a. break
Pernyataan ini berfungsi untuk keluar dari suatu statement, baik statement pengecekan ataupun perulangan. Break sering digunakan dalam pengecekan switch dimana break disini bertugas untuk keluar dari case, sedangkan bila digunakan dalam kondisi perulangan maka break akan memindahkan eksekusi program berikutnya pada kondisi diluar perulangan.
Catatan : continue hanya dapat digunakan pada statement perulangan, dan pada pengecekan kondisi switch
b. Continue
Pernyataan continue merupakan kebalikan dari pernyataan kondisi break, tetapi dalam penggunaannya continue berfungsi untuk mengembalikan pada kondisi awal ketika melakukan suatu statement.
Catatan : continue hanya dapat digunakan pada statement perulangan
c. goto
goto merupakan suatu intruksi / perintah untuk menuju kebaris program yang dituju biasanya ditandai dengan tanda :, misalnya sebuah label dicky :, maka goto dicky : akan mengarahkan program ke dicky dan akan mengeksekusi program berikutnya setelah pernyataan dicky.
d. gotoxy
Pernyataan ini berfungsi untuk mengarahkan cursor kearah yang ditunjuk oleh koordinat x dan y dilayar output.
Bentuk umum :
gotoxy(x,y)
ket :
x : menunjuk posisi koordinat x pada layar (kolom)
y : menunjuk posisi koordinat y pada layar (baris)
e. exit
exit merupkan pernyataan yang berfungsi untuk keluar dari program, dimana kita memberikan nilai 0, misalnya exit(0), pernyataan exit dapat dijalankan apabila kita menambahkan header stdlib.h
Contoh Program
Penggunaan goto
listgoto
Output
jika nilai yang  dimasukkan 1-100

goto1
Jika nilai yang dimasukkan lebih dari 100
goto2

pendahuluan c++


Selamat siang sobat?????
gimana kebarnya baik kan ????
oke berhubung website ini mengambil tema tempat belajar Program dan web digsain maka saya akan membarikan materi-materi yang telah di ajarkan di kampus seomga ber manfaat bagi sobat inyonge !!
latihan jadi dosen nih ceriranya
heheheehe
untuk postingan di kategori C++ ini saya akan mengupas atau membahas tentang C++ dari mulai dasar sampai menjadi mahir di programan C++.
Sebelum kita ke materi alangkah baiknya kita kenalan dulu dangan yang namanya Program c++ ya ngga??, kan ada wacana tenteng TAK KENAL MAKA TAK SAYANG jadi kalo kita ngga kenal c++ maka kita tidak akan tau bahasa C++
ber hubung materi yang akan saya bahas di update secara bertahap (biar sobat inyonge belajar bahas C++ deangan meduh dan konsetrasi) jadi saya akan memberikan daftar isi atau urutan pembelajaran bahasa C++
1. Pendahulan C++
3 pengenalan Program C++
4. Elemen Dasar++
5. Oprator dan Satatement
6. Input dan Output
7. Satatement control
8. Funcition
9. Strings
10. Array
11. Struktur
12. Operasi File
13. Class

Oke Berbicara tentang C++ dan C sebagai bahasa pendahulunya, C merupakan termasuk bahasa pemrograman tingkat dasar. Pencipta C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. C merupakan bahasa pemrograman terstruktur yang membagi program ke dalam sejumlah blok (sub program). Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan C mudah sekali dipindahkan dari satu jenis mesin ke mesin lain. Hal ini karena adanya standarisasi C yaitu ANSI (American National Standards Institute) yang menjadi acuan para pembuat compiler C. C++ diciptakan satu dekade setelah C. C++ diciptakan oleh Bjarne Stroustroup dari Laboratorium Bell, AT&T pada tahun 1983. Pada awalnya C++ diberi nama “A better C”. Nama C++ sendiri diberinama oleh Rick Mascitti. Adapun tanda ++ berasal dari operator increment pada bahasa C. Keistimewaan C++ adalah karena bahasa ini mendukung OOP (Object Oriented Programming). Tujuan utama pembuatan C++ adalah untuk meningkatkan produktivitas pemrogram dalam membuat aplikasi. Kebanyakan pakar setuju bahwa OOP(Object Oriented Programming) dan C++ mampu mengurangi kompleksitas terutama program yang terdiri dari 10.000 baris lebih, bahkan dapat meningkatkan produktivitas 2x lipat dari C, Pascal dan Basic.
(Object Oriented Programming) OOP adalah mengkombinasikan data dan fungsi untuk mengakses data menjadi sebuah kesatuan unit. Unit ini dikenal dengan obyek. Sebagai gambaran untuk mempurmudah memahaminya, obyek sebenarnya dapat mencerminkan pola kerja manusia sehari-hari. Sebuah obyek dapat diibaratkan sebagai departemen di dalam sebuah perusahaan bisnis, misalnya departemen
- penjualan
- akunting
- personalia
Pembagian departemen dalam perusahaan merupakan upaya untuk memudahkan pengoperasian perusahaan. Sebagai gambaran, jika Anda seorang manajer penjualan di kantor pusat ingin mengetahui data para salesmen di kantor cabang, apa yang Anda lakukan? Langkah yang Anda tempuh pasti bukan datang ke kantor cabang dan mencari data-data tersebut. Untuk memudahkan tugas Anda cukup Anda menyuruh sekretaris untuk meminta informasi. Masalah bagaimana dan siapa yang mencarikan bukanlah urusan Anda. Analogi dengan hal itu, kalau seseorang bermaksud menggunakan obyek, ia cukup mengirim pesan ke obyek dan obyek itu sendiri yang akan menanganinya. Terus Program C++ juga dapat dibuat menggunakan sebarang editor teks maupun editor sekaligus compilernya. Program utama berekstensi (.CPP). Pada saat kompilasi program utama bersama dengan file header (.h) akan diterjemahkan oleh compiler menjadi file obyek (.OBJ). Selanjutnya file obyek ini bersama-sama dengan file obyek lain dan file library (.LIB) dikaitkan menjadi satu oleh linker. Hasilnya adalah file (.EXE) executable dan Compiler C++ yang telah beredar di pasaran antara lain Microsoft C/C++ dan Visual C++. Keduanya dari Microsoft. Sementara Borland international juga mengeluarkan Turbo C++ dan Borland C++.
itulah yang saya tahu tentang C++ dan sekian dulu perjumpaan kita mengenai materi C++ dan yang pengin mengatahui pemograman C++ silahkan baca materi lebih selanjutnya yaitu tutorial installasi Borland C++




Latihan 6 c++

Soal :
Buatlah program dengan menggunakan Array untuk menghitung nilai akhir mahasiswa. Setiap mahasiswa di input data Nama, NIM, Jurusan, Nilai Tugas, Nilai UTS, Nilai UAS, proses input diulang untuk seluruh mahasiswa. Jika proses penginputan selesai, maka cetak daftar nilai mahasiswa berikut Nilai akhirnya.
Jawab :
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void line();
void main()
{
int i, Tugas[5],UTS[5],UAS[5],NilaiAkhir[5];
long int NIM[8];
char NamaMahasiswa[30][30],Jurusan[20][20];
for(i=1;i<=5;i++)
            {
            cout<<” “<<endl;
            cout<<setw(55)<<” PROGRAM MENGHITUNG NILAI AKHIR “<<endl;
            cout<<setw(48)<<”         MAHASISWA ISTA “<<endl;
            cout<<setw(52)<<”  MATA KULIAH PEMROGRAMAN C++ “<<endl;
            cout<<” “<<endl;
            line();
            cout<<setiosflags(ios::right);
            cout<<” “<<endl;
            cout<<” Mahasiswa ke- “<<i<<endl;
            cout<<” Masukkan Nama Mahasiswa      : “;gets(NamaMahasiswa[i]);
            cout<<” Masukkan NIM                          : “;cin>>NIM[i];
            cout<<” Masukkan Jurusan       : “;gets(Jurusan[i]);
            cout<<” Masukkan Nilai Tugas   : “;cin>>Tugas[i];
            cout<<” Masukkan Nilai UTS                  : “;cin>>UTS[i];
            cout<<” Masukkan Nilai UAS                  : “;cin>>UAS[i];
            NilaiAkhir[i]=Tugas[i]+UTS[i]+UAS[i];
            cout<<endl;
            }
cout<<” Output : “<<endl<<endl;
cout<<setw(54)<<”    DAFTAR NILAI MAHASISWA “<<endl;
cout<<setw(56)<<” MATA KULIAH : PEMROGRAMAN C++ “<<endl;
cout<<endl;
line();
cout<<setiosflags(ios::right);
cout<<setw(5)<<”No. Nama Mahasiswa      NIM       Tugas UTS   UAS   Nilai Akhir”<<endl;
line();
for(i=1;i<=5;i++)
            {
            cout<<setiosflags(ios::left)<<setw(4)<<i;
            cout<<setiosflags(ios::left)<<setw(20)<<NamaMahasiswa[i];
            cout<<setiosflags(ios::left)<<setw(10)<<NIM[i];
            cout<<setiosflags(ios::left)<<setw(6)<<Tugas[i];
            cout<<setiosflags(ios::left)<<setw(6)<<UTS[i];
            cout<<setiosflags(ios::left)<<setw(6)<<UAS[i];
            cout<<setiosflags(ios::left)<<setw(66)<<NilaiAkhir[i];
            cout<<endl;
            }
{
line();
cout<<setiosflags(ios::right);
getch();
}
}
void line()
{
int i;
for(i=1;i<80;i++)
cout<<’=';
cout<<endl;
}

Latihan 5 c++

Soal :
Buatlah program untuk membuat aneka perhitungan yang menggunakan menu dengan ketentuan tiap menu sebagai berikut :
  1. Menu A untuk Menghitung Suhu, dengan data input Derajat Fahrenheit dan output Derajat Celcius, Reamur serta Kelvin
  2. Menu B untuk Menghitung Luas, dengan data input Alas, Tinggi, Panjang, Lebar, Jari-jari serta Sisi, dan output Luas Segitiga, Persegi, Lingkaran, Jajaran Genjang serta Trapesium.
  3. Menu C untuk Menghitung Volume, dengan data input Alas, Tinggi, Panjang, Lebar serta Jari-jari, dan output Volume Balok, Bola serta Kerucut.
  4. Menu D untuk Menghitung Keliling, dengan data input Panjang, Lebar, Tinggi, Jari-jari serta Alas, dengan output yang diinginkan berupa Keliling Persegi Panjang serta Keliling Bola.
  5. Menu E untuk Menghitung Mata Uang, dengan data input Jumlah Uang dalam Dinar, Dollar, Yen serta Euro, dan output hasil konversi seluruh mata uang tersebut kedalam Rupiah.
Jawaban :
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void line();
void main()
{
            char pil;
            float F;
            float phi_1=0.8;
            float phi_2=1.8;
            float phi_3=3.14;
            float phi_4=1.3333333;
            float phi_5=0.3333333;
float alas, tinggi, panjang, lebar, jari, sisi, dollar,dinar,yen,euro, DollartoRp, DinartoRp, YentoRp, EurotoRp;
float KBola,KPersegi,Persegi,Segitiga,Lingkaran,Jajaran,Trapesium,Balok,Bola,Kerucut, Celcius,Kelvin,Reamur;
            cout<<” SELAMAT DATANG Dl ANEKA PROGRAM MENGHITUNG “<<endl;
            line();
            cout<<” “<<endl;
            cout<<”  A. Program Menghitung Suhu     “<<endl;
            cout<<”  B. Program Menghitung Luas     “<<endl;
            cout<<”  C. Program Menghitung Volume   “<<endl;
            cout<<”  D. Program Menghitung Keliling “<<endl;
            cout<<”  E. Program Menghitung Mata Uang”<<endl;
            cout<<” “<<endl;
            cout<<” Masukan Pilihan Anda (A…E): “,cin>>pil;
            switch(pil)
            {
            case ‘A’:
                        cout<<” Pilihan Anda A. Program Menghitung Suhu “<<endl;
                        cout<<” “<<endl;
                        cout<<” Masukkan derajat Fahrenheit = “,cin>>F;
                        cout<<” “<<endl;
                        Celcius=(F-32)/phi_2;
                         Kelvin=( F-32)/phi_2+273.15;
                         Reamur=(F-32)/2.25;
                        cout<<” Maka suhu derajat Celcius  = “<<Celcius<<endl;
                        cout<<” Maka suhu derajat Reamur   = “<<Reamur<<endl;
                        cout<<” Maka suhu derajat Kelvin   = “<<Kelvin<<endl;
break;
case ‘B’:
                        cout<<” Pilihan Anda B. Program Menghitung Luas “<<endl;
                        cout<<” “<<endl;
                        cout<<” Masukkan alas     = “,cin>>alas;
                        cout<<” Masukkan tinggi   = “,cin>>tinggi;
                        cout<<” Masukkan panjang  = “,cin>>panjang;
                        cout<<” Masukkan lebar    = “,cin>>lebar;
                        cout<<” Masukkan jari-jari = “,cin>>jari;
                        cout<<” Masukkan sisi     = “,cin>>sisi;
                        cout<<” “<<endl;
                        Segitiga=(alas*tinggi)/2;
                        Persegi=panjang*lebar;
                        Lingkaran=phi_3*jari;
                        Jajaran=alas*tinggi;
                        Trapesium=(2*sisi)/2*tinggi;
                        cout<<” Maka Luas Segitiga       = “<<Segitiga<<endl;
cout<<” Maka Luas Persegi        = “<<Persegi<<endl;
            cout<<” Maka Luas Lingkaran      = “<<Lingkaran<<endl;
                        cout<<” Maka Luas Jajaran Genjang = “<<Jajaran<<endl;
                        cout<<” Maka Luas Trapesium      = “<<Trapesium<<endl;
break;
case ‘C’:
                        cout<<” Pilihan Anda C. Program Menghitung Volume “<<endl;
                        cout<<” “<<endl;
                        cout<<” Masukkan alas     = “,cin>>alas;
                        cout<<” Masukkan tinggi   = “,cin>>tinggi;
                        cout<<” Masukkan panjang  = “,cin>>panjang;
                        cout<<” Masukkan lebar    = “,cin>>lebar;
                        cout<<” Masukkan jari-jari = “,cin>>jari;
                        cout<<” “<<endl;
                        Balok=2*(panjang*lebar);
                        Bola=phi_3*phi_4*((jari*jari)*jari);
                        Kerucut=phi_3*phi_5*(jari*jari)*tinggi;
cout<<” Maka Volume Balok = “<<Balok<<endl;
cout<<” Maka Volume Bola   = “<<Bola<<endl;
cout<<” Maka Volume Kerucut = “<<Kerucut<<endl;
break;
case ‘D’:
                        cout<<” Pilihan Anda D. Program Menghitung Keliling “<<endl;
                        cout<<” “<<endl;
                        cout<<” Masukkan panjang  = “,cin>>panjang;
                        cout<<” Masukkan lebar    = “,cin>>lebar;
                        cout<<” Masukkan tinggi = “,cin>>tinggi;
            cout<<” Masukkan jari-jari = “,cin>>jari;
            cout<<” Masukkan alas = “,cin>>alas;
            cout<<” “<<endl;
                        KPersegi=(panjang*lebar)*2;
                        KBola=(2*phi_1)*jari;
                        cout<<” Maka Kelilihg Pesegi Panjang = “<<KPersegi<<endl;
                        cout<<” Maka Keliling Bola         = “<<KBola<<endl;
break;
case ‘E’:
                        cout<<” Pilihan Anda E. Program Menghitung Mata Uang “<<endl;
                        cout<<” “<<endl;
                        cout<<” Masukkan Dinar = “,cin>>dinar;
                        cout<<” Masukkan Dollar = “,cin>>dollar;
                        cout<<” Masukkan Yen   = “,cin>>yen;
                        cout<<” Masukkan Euro = “,cin>>euro;
                        cout<<” “<<endl;
                        DinartoRp=(dinar*5)*9500;
                        DollartoRp=dollar*9500;
                        EurotoRp=(euro*2)*9500;
                        YentoRp=(yen*9500)/4;
            cout<<” Maka “<<dinar;
            cout<<” Dinar = “<<DinartoRp<<” Rupiah “<<endl;
            cout<<” Maka “<<dollar;
            cout<<” Dollar = “<<DollartoRp<<” Rupiah “<<endl;
            cout<<” Maka “<<yen;
            cout<<” Yen   = “<<YentoRp<<” Rupiah “<<endl;
            cout<<” Maka “<<euro;
            cout<<” Euro  = “<<EurotoRp<<” Rupiah “<<endl;
break;
default:
            cout<<” Pilihan Anda salah ! “<<endl;
}
getche();
}
void line()
{
int i;
            for(i=0;i<80;i++)
            cout<<”=”;
      cout<<endl;
}

Latihann 4 c++

Soal :
Buatlah program untuk menghitung nilai numerik A, B, C, K, L, M. menggunakan menu pilihan (a…e), dengan ketentuan sebagai berikut :
Jika pilihan a untuk menghitung A*8<=6*M+B;
Jika pilihan b untuk menghitung K+10>A&&L-4>8*C;
Jika pilihan c untuk menghitung (4+2*B-C)/A;
Jika pilihan d untuk menghitung (A-4)*C/2+10;
Jika pilihan e untuk menghitung (K-L*M/2-10)-2*10/6
Jawab
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
            char pil;
            int A,B,C,K,L,M,hasila,hasilb,hasilc,hasild,hasile;
            cout<<”——————————–”<<endl;
            cout<<”PROGRAM MENGHITUNG NILAI NUMERIK”<<endl;
            cout<<”——————————–”<<endl;
            cout<<” “<<endl;
            cout<<” Masukkan Pilihan Anda (a…e): “,cin>>pil;
            A=6;
            B=12;
            C=4;
            K=10;
            L=4;
            M=6;
            switch(pil)
             {
             case ‘a’:
                        cout<<” Pilihan Anda a. A*8<=6*M+B “<<endl;
                         cout<<” “<<endl;
                        hasila=A*8<=6*M+B;
                        cout<<” Hasilnya adalah = “<<hasila<<” “<<endl;
            break;
            case ‘b’:
                        cout<<” Pilihan Anda b. K+10>A&&L-4>8*C = “<<endl;
                        cout<<” “<<endl;
                        hasilb=K+10>A&&L-4>8*C;
                        cout<<” Hasilnya adalah = “<<hasilb<<endl;
            break;
            case ‘c’:
                        cout<<” Pilihan Anda c. D=(4+2*B-C)/A “<<endl;
                        cout<<” “<<endl;
                        hasilc=(4+2*B-C)/A;
                        cout<<” Hasilnya adalah = “<<hasilc<<endl;
            break;
            case ‘d’:
                        cout<<” Pilihan Anda d. D=(A-4)*C/2+10 “<<endl;
                        cout<<” “<<endl;
                        hasild=(A-4)*C/2+10;
                        cout<<” Hasilnya adalah = “<<hasild<<endl;
            break;
            case ‘e’:
                        cout<<” Pilihan Anda d. D=(K-L*M/2-10)-2*10/6 “<<endl;
                        cout<<” “<<endl;
                        hasile=(K-L*M/2-10)-2*10/6;
                        cout<<” Hasilnya adalah = “<<hasile<<endl;
            break;
            default:
            cout<<” Anda belum memilih ! “<<endl;
            }
getche();
}

Latihann 3 c++

Soal :
Buat program untuk menghitung nilai mahasiswa dengan data input Nama, NIM, Jurusan, Nilai UTS (bobot 30%), Nilai UAS (bobot 40%), Nilai Absensi (bobot 10%), serta Nilai Tugas (bobot 20%), dengan output masing-masing nilai sesuai bobotnya serta nilai akhir.
Jawab :
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
char nama[30], nim[9], jur[3];
float uts, uas, absensi, tugas, nuts, nuas, nabsensi, ntugas, nakhir;
printf(“PROGRAM MENGHITUNG NILAI MAHASISWA \n”);
printf(“\nNama   : “);
gets(nama);
printf(“NIM                    : “);
gets(nim);
printf(“Jurusan: “);
gets(jur);
cout << “\nMasukan nilai UTS = “;
cin >> uts;
cout << “Masukan nilai UAS = “;
cin >> uas;
cout << “Masukan nilai Absensi = “;
cin >> absensi;
cout << “Masukan nilai Tugas = “;
cin >> tugas;
nuts = uts*0.3;
cout << “\nMaka Nilai UTS dari 30% adalah          = ” << nuts
<< endl;
nuas = uas*0.4;
cout << “Maka Nilai UAS dari 40% adalah                       = ” << nuas
<< endl;
nabsensi = absensi*0.2;
cout << “Maka Nilai Absensi dari 10% adalah      = ” << nabsensi
<< endl;
ntugas = tugas*0.1;
cout << “Maka Nilai Tugas dari 20% adalah                     = ” << ntugas
<< endl;
nakhir = nuts+nuas+nabsensi+ntugas;
cout << “\nJadi, Mahasiswa yang bernama ” << nama << ” mendapatkan nilai ” << nakhir
<< endl;
getch();
}